質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

0回答

201閲覧

swiftでの非同期処理のテストコードの書き方

oeiqgfodgfhps

総合スコア35

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2020/06/29 08:38

自作アプリのテストコードを書きたいと思っています。
下記のようなFireStoreのデータを編集し、画面遷移をするコードのテストを下記場合は、どのように書くのが通例でしょうか?
一つの関数につき一つのテストという認識でしたが、これは一つの関数にデータの編集と画面遷移という二つのロジックが書かれているため、画面遷移の方を別の関数にまとめて、それぞれをテストした方がいいのでしょうか?
また、画面遷移のテストコードの書き方はどのように記述すればいいのでしょうか?調べてみましたが、自分では理解することが困難でした。
テストのことを全く考えずにコードを書いてしまったので、テストしやすいコードの書き方という観点からも、こういう書き方にするべきというご意見がありましたら、ご指摘お願いいたします。

swift

1 2 @IBAction func edit(_ sender: Any) { 3 let title = titleTextField.text 4 let money = moneyTextField.text! 5 let description = descriptionTextField.text 6 let data = ["title":title,"money":money,"description":description] as [String : Any] 7 var ref: DocumentReference? = nil 8 ref = db.collection("patiences").document("(documentIdString)") 9 ref?.updateData(data as [AnyHashable : Any]){ err in 10 if let err = err { 11 print("Error updating document: (err)") 12 } else { 13 let indexVC = self.storyboard?.instantiateViewController(identifier: "index") as! IndexViewController 14 indexVC.modalPresentationStyle = .fullScreen 15 self.present(indexVC, animated: true, completion: nil) 16 } 17 } 18 } 19

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問