問題タブ [ocunit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - Cocoa/Objective-Cでのメモリ管理の単体テスト
オブジェクトがCocoa/Objective-Cで適切に解放/保持されていることを確認するために、たとえばOCUnitを使用して単体テストをどのように記述しますか?
これを行うための単純な方法は、の値を確認することですretainCountが、もちろん、を使用しないでくださいretainCount。オブジェクトの参照に値が割り当てられているかどうかを簡単に確認して、オブジェクトnilが解放されたことを示すことができますか?また、オブジェクトが実際に割り当て解除されるタイミングについて、どのような保証がありますか?
私はおそらくこれを広範囲に使用するので、ほんの数行のコードの簡潔な解決策を望んでいます。実際には2つの答えがあります。1つは自動解放プールを使用し、もう1つは使用しません。
明確にするために、私は自分が作成するすべてのオブジェクトを包括的にテストする方法を探していません。メモリ管理は言うまでもなく、動作を包括的に単体テストすることは不可能です。ただし、少なくとも、回帰テストのために解放されたオブジェクトの動作をチェックすることは素晴らしいことです(そして、同じメモリ関連のバグが2回発生しないことを確認してください)。
回答について
自動参照カウントで提供される弱ポインターはXCodeの製品版では使用できないという警告を考慮して、 BJ Homerの回答を受け入れました。これは、私が考えていたことを達成するための最も簡単で簡潔な方法であることがわかったためです。 〜4.2?)2011年7月23日現在。私もそれを知って感動しました
ARCはファイルごとに有効にできます。プロジェクト全体で使用する必要はありません。ARCを使用して単体テストをコンパイルし、メインプロジェクトを手動の保持リリースのままにしておくことができますが、このテストは引き続き機能します。
そうは言っても、Objective-Cでのユニットテストのメモリ管理に関連する潜在的な問題をより詳細に調査するには、PeterHoseyの詳細な対応を強くお勧めします。
objective-c - ターミナルでシミュレーターを使用した OCUnit アプリケーション テスト
端末コマンドを使用して、シミュレーターで実行されるアプリケーション テストを開始することはできますか?
ありがとう
ios - Xcode 4でiOSアプリをビルド(実行)する前に、OCUnitロジックテストを自動的に実行するにはどうすればよいですか?
すべてが正しく設定されているようです。私が走るときcommand ⌘</kbd> + U (or select Product > Test from menu) my test runs fine.
ベストプラクティスは、テストをできるだけ頻繁に実行することです。理想的には、各ビルド中に実行します(各実行中に理解します)。
Xcode 4に強制的に実行するにはどうすればよいですか?私はしようとしました:
- ターゲットの依存関係を設定します(メインアプリのターゲットをテストターゲットに依存させる)
- メインアプリのターゲットビルド設定で「ビルド後のテスト」を有効にする
- メインアプリスキームを実行するためのスキームエディターでターゲットもテストします
しかし、何も機能していないようです。誰かがこれを設定することに成功していますか?
iphone - ユニットテストからアニメーションが終了するのを待つ方法
XcodeのOCUnitを使用して単体テストを記述しています。テストでは、アニメーションを実行するメソッドを呼び出します。アニメーションが完了した後にのみテストメソッドを続行したい。
アニメーションを実行するメソッドにはアニメーションデリゲートがなく、必要だとは思いません。
アニメーションデリゲートを設定せずに、テストメソッドでアニメーションが終了するのを待つにはどうすればよいですか?
iphone - iPhone の自動化: OCUnit または FoneMonkey でのテストの順序の設定
テストケースをプログラムで書くためにOCUnit(SenTestingKit)を利用するFoneMonkeyを自動化に使用しています。テスト スクリプトが実行される順序を定義する方法があるかどうかは誰にもわかりませんか? また、各スクリプト内で、テスト ケースがいつ実行されるかを判断する方法はありますか?
xcode - Xcode キーボード ショートカット: テスト ファイルにジャンプしますか?
MyObject.mからにMyObjectTests.m、またはその逆にジャンプするための Xcode キーボード ショートカットはありますか? もしそうなら、それは何ですか?
ios - OCUnit/XCode 単体テストに適したテスト ランナー
OCUnit/XCode 4 単体テスト フレームワーク用の優れた GUI ベースのテスト ランナーはありますか? レッドライト/グリーンライト タイプの GUI を探しています。NUnit テスト ランナーのようなものかもしれません。OCRunnerを見つけましたが、2009 年からメンテナンスされていないようです。Lion に読み込まれますが、テスト バンドルを取得して実行することができません。
iOS プロジェクトに対して単体テスト バンドルで OCRunner を実行するための代替案や方法はありますか?
*参考までに - デフォルトの単体テスト バンドル テンプレートを使用して XCode 4 を実行しています
ocunit - OCUnit: テストケース メソッドのプレフィックスを変更するには?
プレフィックス の代わりに、BDD ボキャブラリが好きなのでtest使用したいと思います。spec
たとえば、次の代わりに:
私はそれを呼びたい:
これどうやってするの?
objective-c - 単体テストからのNSPersistentDocumentのロード
比較的快適なOCUnit/SenTestFrameworkを使用して統合テストを作成しようとしています。テストは、正常にインポートされているCoreData管理対象オブジェクトモデルに依存するNSPersistentDocumentサブクラスのロードに関するものです。
これを行うための最良の方法は何ですか?私は一日中試してみましたが、それは次々と問題になっています。これを行う(関連性のためにトリミング):
エラーは発生しませんが、ドキュメントの管理対象オブジェクトコンテキストは空です。つまり、[[mdoc.managedObjectContext registeredObjects] count]ゼロです。
メインアプリケーションの実行(単体テストではない)は期待どおりに機能します。docUrlのファイルが読み込まれ、インターフェイスが正しく読み込まれます。
私は何が欠けていますか?
objective-c - iOS 用の OCUnit アプリケーション テスト ターゲットをビルドする際のリンカー エラー
OCUnit ターゲットにアプリケーション テストが含まれています。Application Host ターゲットのクラスでインスタンス メソッドを呼び出すことはできますが、クラス メソッドを呼び出すことはできません。クラス メソッド ( など) を呼び出すとalloc、次のリンカ エラーが発生します。
これは、Objective-C がインスタンス呼び出しを行うためにリンク時にオブジェクト ファイルにアクセスする必要はありませんが、クラス呼び出しのためにリンク時にアクセスする必要があるためだと思います。誰かがこれを確認するためにドキュメントを教えてもらえますか?
この質問は、次の質問に似ています。