ストーリーボードのテーブルビューのプロパティセルにShow
セグを添付します。今私はこのバインディングが存在するかどうかテストしたい。つまり、Interface Builderでセグを削除したり、セグの識別子を変更したりすると、落ちるテストが必要になります。ストーリーボードに接続されたセグをテストする方法
ユーザーの観点からは、ユーザーはテーブルビューのセルをタップしてからこのセグを実行する必要があります。
テストの観点からは、私はprepare(for:sender:)
メソッドを使ってセグの実行を確認することができますが、プログラムで「タップ」をトリガーする方法はわかりません。
私はtableView.selectRow(at:animated:scrollPosition)
とcell.setSelected(_:animated:)
を試しましたが、どちらもうまくいきませんでした。
- InterfaceBuilder経由で追加されたセグをプログラムでトリガーする方法はありますか?
- また、このセグのバインディングをテストする他の方法はありますか? さらに明確にするため
更新
私はプログラムでセグエをトリガーする方法を知っている - ので、それはここで求められているものではありません。
ストーリーボードでシーンの後ろにトリガー作業が行われ、制作コードにセグのトリガーコードがありません(オーバーライドされたのはprepare(for:sender:)
のみです)。そして、アプリケーションは意図どおりに動作します。ここで問題となるのは、私はこの事実を裏返しにするトリガーが常に存在することを保証するためのテストが必要です。いつか私は酔っ払ってストーリーボードを編集して元のセグを無関係な場所に接続すると、赤いと私のお尻で私を蹴る。
'performSegue'はイエス – user1046037
プログラムでセグエを行うだろうが、私がテストしたい事は、細胞上のタップが引き金となり」です「セグがトリガされたときに何が起こるか」ではなく、「セグ」と表示されます。 –
UIテスト - https://developer.apple。 – user1046037