332

Objective-C コードを単体テストするためのフレームワークは何ですか? Apple Xcode とうまく統合できるフレームワークが欲しいです。

4

17 に答える 17

317

Xcode には、Objective-C ユニット テスト フレームワークである OCUnit に似たXCTestが含まれており、プロジェクトのビルド プロセスの一部として XCTest ベースのユニット テストを実行するための完全なサポートを備えています。Xcode の単体テストのサポートについては、「Xcode の概要: 単体テストの使用」で説明されています。

Xcode 2 の頃に、Xcode 単体テストでいくつかの一般的なタスクを実行する方法について、一連のブログ投稿を書きました。

XCTest ではなく OCUnit を使用していますが、概念はほとんど同じです。

最後に、Cocoa ユーザー インターフェイスのテストの書き方に関する記事もいくつか書きました。ほとんどの場合、イベント ループなどをスピンする必要がないため、Cocoa の構造は比較的単純です。

これにより、モデル レベルのコードだけでなく、コントローラー レベルやビュー レベルのコードについても、テスト駆動型の開発を行うことができます。

于 2008-08-28T19:52:25.617 に答える
50

GabrielHandfordによるGHUnitをチェックしてください。

「GHUnitの目標は次のとおりです。

XCode内で単体テストを実行し、XCodeデバッガーを十分に活用できるようにします。テストを視覚化するのに役立つシンプルなGUI。スタックトレースを表示します。シンプルな(またはそうでない)ターゲットセットアップを使用して、フレームワーク(Cocoaアプリの場合)としてインストールできます。または、iPhoneプロジェクトに簡単にパッケージ化できます。」

于 2009-02-25T13:53:55.363 に答える
18

私は iPhone 用の Google ツールボックス テスト リグを使い始めましたが、うまく機能しています。

google-toolbox-for-mac

于 2008-11-19T16:59:00.810 に答える
13

OCUnitをチェックしてください。Apple の開発者ネットワークには素晴らしい紹介があります。

于 2008-08-28T19:46:10.937 に答える
12

Google Toolbox for Mac (GTM) プロジェクトは、Apple の SenTestingKit フレームワーク (それ自体は OCUnit に基づいています) を単純に拡張/強化するものであることに注意してください。彼らがプロジェクトサイトで言うように:

GTM には、標準の SenTestingKit に対するいくつかの拡張機能があり、UI ユニット テスト、自動バインド ユニット テスト、ログ追跡、iPhone でのユニット テスト、およびコードの静的および動的テストを実行するためのツールを実行できます。

ユーザー インターフェイスのテストに関する次のコメントに注意してください。

GTM は、ユーザー インターフェイスの単体テストを幅広くサポートしています。ほとんどすべての標準的な Cocoa/UIKit UI オブジェクトのイメージングと内部状態の両方のテストをサポートし、このサポートを独自の UI オブジェクトに簡単に拡張できるようにします。

使用方法については、「コードの検証と単体テスト」ページを参照してください。

于 2009-03-02T19:02:15.407 に答える
12

これは古い質問だと思いますが、xUnit スタイルのテスト (Test::Unit、JSUnit、JUnit など) よりも BDD スタイルのテスト (rspec、Jasmine など) を好む場合は、Cedarをチェックすることを検討してください。 . Cedar は、言語がクロージャーをサポートするようになったため、BDD スタイルのテストを Objective-C にもたらします。

私たちはPivotal Labsでの iOS プロジェクトに Cedar を喜んで使用しており、その改善に積極的に取り組んでいます。フィードバックや提案は、cedar-discuss@googlegroups.com までお寄せください。

于 2010-11-23T07:25:22.823 に答える
12

私は、GHUnit が Objective-C の最も高度なテスト フレームワークであるという結論に達しました。ブログでテスト フレームワークのまとめを行いました。これは、展開 (iphone、シミュレーター、または mac os ネイティブ) とアサート機能の点で最も柔軟です。GTM に基づいているため、SenTestingKit に対する GTM の利点をすべて継承していますが、さらに多くの機能が追加されています。もう 1 つのボーナスは、非常に積極的に維持されていることです。

私はOCMockを GHUnitに統合する努力をしました。コードはgithubで入手できます。

于 2009-10-24T17:48:12.073 に答える
10

また、カバレッジ ツールを使用して、コードのどの部分が単体テストでカバーされ、どの部分がカバーされていないかを確認することをお勧めします。GCOVツールを使用して、基本的な回線および分岐コードのカバレッジを生成できます。素敵な HTML カバレッジ レポートを生成したい場合は、まさにそれを行うLCOVZCOVがあります。

于 2009-03-14T21:47:00.323 に答える
7

Sen:te(Xcodeに含まれているテストフレームワークの作成者)は、iPhoneプロジェクトでOCUnitを使用する方法を説明しています:simple-iphone-ipad-unit-test

于 2009-01-18T15:32:52.077 に答える
7

ここにたくさんあります

Objective-C の List_of_unit_testing_frameworks

于 2011-04-26T03:43:51.467 に答える
7

xcodeにバンドルされているユニット テスト サポート(簡単なセットアップ用) とocrunner (いくつかの自動テスト/Growl 機能用) の組み合わせは、現在、私のお気に入りの Obj-C ユニット テスト セットアップです。

于 2010-08-10T05:58:07.770 に答える
7

gh-unit をお勧めします。テスト結果の GUI が優れています。

http://github.com/gabriel/gh-unit/tree/master

于 2009-03-14T21:57:19.127 に答える
6

Cocoa with Love の Matt Gallagher には、単体テストに関する非常に優れた記事があります。

于 2009-12-23T18:39:28.400 に答える
5

iOS 向けのオープン ソース BDD テスト フレームワークであるKiwiを調べることをお勧めします。

プロジェクトの WIKI をチェックして、Daniel Steinberg の本「Test Driving iOS Development with Kiwi」を開始または入手してください test-driving-ios-development

于 2013-02-23T23:28:38.020 に答える
4

SimpleUnitTest は iPhone と iPad のライブラリで動作します。

http://cbess.blogspot.com/2010/05/simple-iphone-ipad-unit-test.html

単体テスト クラスを簡単に追加するための単体テスト Xcode テンプレートが付属しています。GTM をラップします。

文字通りアクティブなプロジェクトにドロップして、3 分 (またはそれ以下) 以内に単体テストの追加を開始できます。

于 2010-05-18T23:52:09.987 に答える
3

Spectaは、XCTest の上で実行される最新の TDD (テスト駆動開発)/BDD (動作駆動開発) フレームワークです。iOS および Mac OS X プロジェクトの単体テストをサポートしています。

于 2014-03-15T16:05:04.413 に答える
0

「SenTestKit」を使用して、すべてのメソッドをテストできることを願っています。

于 2013-06-14T13:48:05.463 に答える