IOSでユニットテストをしたい。デフォルトでは、テストクラスはXcode5のXCTestフレームワーククラスを使用して作成されます。以前のバージョンのiOSではSenTestingKitを使用しました。これら2つのフレームワークの違いは何ですか? XCTestフレームワークの利点は何ですか。関連ドキュメントをグーグルで検索しましたが、見つかりませんでした。私が見つけたのは、キット内で使用するインターフェイスクラスだけです。誰かが私に関連リソースを教えてもらえますか?.
Appleのドキュメントは、テストに関して特に不足しています。 XCTestで5分間過ごしたことが私をそれに夢中にさせたので、それは残念です。だから、ここにあなたが役に立つと思うかもしれないいくつかのドキュメントがあります。
まず、テストに関するWWDCビデオを停止して視聴します。 https://developer.Apple.com/wwdc/videos/?include=409#409 (登録済みの開発者である必要があります)
次に、ボットについて読んでください。それらはXCTestの本当の魔法です。私は現在、MavericksServerを実行しているMacMiniの環境を、ユニットテストとレポートを同時に実行するiPod Touch、iPhone、iPadの小さなアレイに接続してセットアップしています。魔法の近くだ。
そうは言っても、私は2つを比較するのに十分なSenTestを知りません。しかし、私はXCTestを学んでいるので、これまでに実際に掘り下げていることについていくつか考えます。
そして、測定のためのいくつかの短所:
私の2セント。それが役に立てば幸い。リンクしたビデオを視聴することを強くお勧めします。XCTestを使用しているかどうかに関係なく、ライブテストの作成を行い、一般的な単体テストの非常に説得力のある事例を作成します。
現在、利点はほとんどないようですが、時間の経過とともに変化することが期待されているため、コミュニティwikiを開始していくつかを文書化します。
XCTAssert…
_ファミリーのマクロは、format
パラメーター(テストに合格する理由のコメントに使用)を完全に省略して処理できます。これは、エディターで単純なテスト(テスト自体から何が行われているのかが明らかな場合)をクリーンに保つのに便利です。 _STAssert…
_では、代わりにformat
パラメータをnil
などにする必要がありました。XCTAssert()
マクロがあります。これは、いくつかのタイプのチェックをSTAssertTrue
に詰め込むよりもすっきりしています。XCTestはデフォルトでios7に含まれており、新しい継続的インテグレーション機能とより適切に統合されます。
https://developer.Apple.com/technologies/tools/