0
私は私のクラスでIBOutletsとして接続したUIButtonsでテストを実行しようとしています。しかし、彼らは他のクラスからアクセスする必要がないので、すべてプライベートに設定されています。プライベートキーワードを削除することでテストのために内部的にアクセスできるようにするか、それらをテストする良い方法はありますか?ユニットテストのためにプライベートIBOutletを内部にする必要がありますか?
私は私のクラスでIBOutletsとして接続したUIButtonsでテストを実行しようとしています。しかし、彼らは他のクラスからアクセスする必要がないので、すべてプライベートに設定されています。プライベートキーワードを削除することでテストのために内部的にアクセスできるようにするか、それらをテストする良い方法はありますか?ユニットテストのためにプライベートIBOutletを内部にする必要がありますか?
XCTestはこれらすべてのメソッドにアクセスできます。それを想定してテストを書くだけで、あなたが得るものを見てみてください。キーワードprivate
を削除する必要はありません。
質問は本当にそれらをテストしたいですか? – Sulthan
@ Sulthan私は、ボタンを順番に「押す」ことができるようにしたいし、特定のことが起こり、ある事柄が起こらないことを確認したい。しかし、私はIBOutletsとそのIBActionsをプライベートに設定しました。テスト目的のためにこれらのプロパティとメソッドを開くことが悪いのかどうかは不思議です。 – Tometoyou
これを考えてみてください。あなたが書いたいものはUIテスト(統合テスト)で、UIテストではビューに対する特定の参照は必要ありません。クエリを使用してそれらを見つけることができます。 https://www.bignerdranch.com/blog/ui-testing-in-xcode-7-part-1-ui-testing-gotchas/を参照してください。 – Sulthan