2

iOS プロジェクトでテスト駆動開発プロセスを使用する場合、テスト ロジックはどこに配置すればよいですか?

以前は、それらを各実装ファイルに直接入れるか、クラスごとの補助ファイルに入れました。petur.m には peturTest.m が付随しています - これは悪い構造につながると思うので、これを適切に行う方法を聞きたかったのです。

4

1 に答える 1

2

典型的な戦略は、単体テスト コード用に別のターゲットを設定することです。インストールする必要があるアプリのサイズが増えるだけなので、単体テストを実装ファイルに含めたくありません。また、オブジェクトを悪い状態にしたり、誰にも使用してはならないものを公開したりする可能性のあるコードをテストすることもよくあります。チームの誰かが、実際の方法だと思っていた単体テスト方法を誤って使用することは望ましくありません。

Apple のドキュメントを使用して、テスト ターゲットの設定方法を確認できます: https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/UnitTesting/02-Setting_Up_Unit_Tests_in_a_Project/setting_up.html#//apple_ref/ doc/uid/TP40002143-CH3-SW1

単体テスト用に追加のターゲットを設定すると、すべての単体テスト コードがこのターゲットに含まれますが、成果物ターゲットには含まれません。典型的なパターンは、アプリ内のテスト可能なクラスごとに 1 つ以上の単体テスト クラスを持つことです。追加の機能を公開する必要がある場合 (状態変数などを設定する目的で、オブジェクトのメソッドまたはプロパティを公開する)、プロダクション クラスのカテゴリとしてそれらを記述することをお勧めします。

于 2013-09-14T05:15:57.457 に答える