問題タブ [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.

0 投票する
2 に答える
1548 参照

objective-c - OCUnit テストの成功/失敗メッセージ/イベントをトラップする方法

継続的インテグレーション サーバー ( TeamCity )で xcodebuild と OCUnit を使用しようとしています。

JetBrains は、TeamCity が解釈できる方法でテスト出力をフォーマットする、boost::test および CppUnit のテスト オブザーバー実装を提供します。OCUnit を使用したい場合は、同様のことを行う必要があります。

OCUnit には SenTestObserver クラスがあるようですが、私はそれがどのように使用されるべきかを正確に知りません。また、OCUnit のホームページにはこの問題に関するドキュメントはありません。

0 投票する
4 に答える
2370 参照

iphone - iPhoneユニットテストがハングします。-applicationDidFinishLaunchingの呼び出しに失敗しました:

OCUnit上でGoogleToolkitforMacフレームワークを使用して構築されたiPhoneプロジェクトの単体テストを設定しています。必要に応じてテストをビルドして実行する「ユニットテスト」と呼ばれる依存プロジェクトがあります。

しかし、それからそれはすべて機能しなくなりました。私が理解できる理由はありません。突然、私の「ユニットテスト」実行可能ファイルが起動し、そこに座って、永遠に待機します。-applicationDidFinishLaunching:実際の単体テストと呼ばれるアプリケーションデリゲートのメソッドまでは到達しません。NSLogをデリゲートの-initメソッドに挿入すると、そのメソッドが呼び出されることがわかりますが、アプリケーションは起動を「終了」しません。

「単体テスト」実行可能ファイルを実行するシェルスクリプトを変更して-RegisterForSystemEvents引数を削除すると、実行可能ファイルはすぐに存在し(テストは実行されません)、次のメッセージが表示されます。

システムイベントサーバーがないため、終了します。
(SpringBoardなしで実行する場合は、EventPumpを実行するか、引数「-RegisterForSystemEvents」を渡します。

その引数を削除すると終了するので、ハングを引き起こしているように見えるので、その引数が正確に何をどのように行うのか興味があります。しかし、それなしではテストは実行されないので、どうすればそれを再び機能させることができるかを判断する必要があります。ただし、Googleは現在の状況に関連するものへのリンクを提供しておらず、開発ドキュメントには何も役立ちません。

何か案は?

0 投票する
3 に答える
2503 参照

xcode - OCUnit、NSLog、およびXCode 3.1

私はXCode3.0でOCUnit(XCodeに付属するデフォルトのインストール)を使用していました。テストを実行して、[ビルド結果]ウィンドウで結果を確認したり、出力したNSLog()メッセージを確認したりできてうれしいです。

ただし、XCode 3.1ではテストは正常に実行されますが、NSLog()出力が突然失われます。誰もがそれがどこに行ったか知っていますか?

0 投票する
2 に答える
10273 参照

objective-c - Objective-Cでのプロトコル/コールバック/デリゲートのOCUnitテスト

OCUnitを使用して、デリゲートプロトコルをテストする方法はありますか?

私はこれを試していますが、うまくいきません。

別のスレッドでメソッドを呼び出してobj、デリゲートが呼び出されるまでテストをスリープ状態にしてみます。これをテストするもっと簡単な方法があるはずです。

0 投票する
2 に答える
2802 参照

cocoa - XCodeではなくコマンドラインからOCTestを実行する方法

組み込みの OCTest 単体テストを使用する XCode 3.1.2。

単体テストの実行時にクラッシュします。いくつかの追加の環境変数 (MallocCheckHeapStart、MallocCheckHeapEach など) を使用して実行したいと考えています。

私はこれの初心者で、コマンドラインからアプリの OCTest 単体テストを実行する方法がわかりません。または、XCode が単体テストを起動するときにいくつかの追加の環境変数を設定するように説得することもできます。

0 投票する
3 に答える
10673 参照

unit-testing - iPhone - 論理ユニット テスト用のリソースの取得

私は iPhone の単体テストの作成に関する Apple のドキュメントに従ってきましたが、箱から出してすぐにはルーチンが機能しないようです。単体テストがどこでアプリケーション デリゲートへの参照を取得するのか、よくわかりません。

私の依存関係は次のようなものです: My_Program_target -> UnitTesting_target -> UnitTests_bundle

次のコード スニペットは、アサートが失敗する場所です。私は CPPUNIT に非常に精通していますが、これがどのように交差するかを理解するのに苦労しています。

さらに:

私は自分のアプローチで論理テストを行うことにしました。XML ファイルを読み取ろうとしていますが、ファイルにアクセスできるパスを提供するバンドルを解決できません。allBundles で出力されたパスに貼り付けてみましたが、そのパスも機能していないようです。以下は、テストで実行しているものです (バンドルのパスを出力するために使用しているデバッグ ステートメントを確認できます)。

基本的に、パスのアサートは成功しませんが、バンドル リソースをコピーするように指示した unitTest バンドルを参照するパスまたはディレクトリに何を指定すればよいかわかりません。[NSBundle mainBundle] の呼び出しも機能しません。

0 投票する
7 に答える
14041 参照

objective-c - Xcodeでのプラ​​イベートメソッドのユニットテスト

私はおもちゃのプロジェクトでテスト駆動開発を試しています。クラスへのパブリックインターフェイスでテストを機能させることができます(ただし、テスト対象のメソッドよりも多くのテストコードを記述しているため、まだ問題があります)。

パブリックインターフェイスをクリーンに保つのが好きなので、私は多くのプライベートメソッドを使用する傾向があります。ただし、これらのメソッドでテストを使用したいと思います。

Cocoaは動的言語であるため、これらのプライベートメソッドを呼び出すことはできますが、テストで、クラスがこれらのメソッドに応答しない可能性があるという警告が表示されます(明らかに応答しますが)。警告なしでコンパイルするのが好きなので、ここに私の質問があります:

  1. Xcodeでこれらの警告をオフにするにはどうすればよいですか?
  2. これらの警告をオフにするために他に何かできることはありますか?
  3. 「ホワイトボックス」テストを試す際に何か問題がありますか?
0 投票する
1 に答える
2127 参照

objective-c - OCUnit テストが「コード 138」で失敗するのはなぜですか?

現在、XCode 3.1 を使用して Objective-C を学習しようとしています。私は小さなプログラムに取り組んでおり、それに単体テストを追加することにしました。

Apple Developer ページの手順に従いました - Automated Unit Testing with Xcode 3 and Objective-C。最初のテストを追加したとき、テストが失敗したときは問題なく動作しましたが、テストを修正するとビルドが失敗しました。Xcode は次のエラーを報告しました:

エラー: テスト ホスト '/Users/joe/Desktop/OCT/build/Debug/OCT.app/Contents/MacOS/OCT' がコード 138 で異常終了しました (クラッシュした可能性があります)。

エラーを特定しようとして、上記の単体テストの例の手順を再度実行したところ、例が機能しました。コードの簡易バージョンとテスト ケースを追加すると、エラーが返されました。

作成したコードは次のとおりです。

カード.h

カード.m

CardTestCases.h

CardTestCases.m

0 投票する
1 に答える
841 参照

unit-testing - otest を使用してテストをデバッグするときに、実行可能ファイルをテスト バンドルにリンクするにはどうすればよいですか?

私は Chris Hanson の優れた Xcode 単体テスト ガイドのハイブリッドのようなものを使用しています。

私のプログラムは (コマンドライン) アプリケーション (実行可能ファイル自体を使用してテストを実行することはできません) ですが、単体テストをデバッグできる必要があります。

だから私が持っているものは次のとおりです:

テスト バンドルとテストを作成します。新しいテスト ターゲットを作成し、バンドル ローダーとテスト ホストを設定します。メイン ターゲットをテスト ターゲットの直接の依存関係として追加します。新しいカスタム実行可能 otest を作成します。-SenTest selfMyTestBundle.octest、引数を追加します。環境に変数を追加DYLD_LIBRARY_PATHします。DYLD_FRAMEWORK_PATH

私の問題は、実行可能ファイルを実行してテストをデバッグしようとすると、テストによって参照されるクラスが利用できないことです。たとえば、クラス Foo のテストを作成すると、テストで Foo をインスタンス化するとすぐに、不正なアクセス例外が発生します。

Foo.m をテスト ターゲットに追加すると、これはなくなりますが、テストするすべてのクラスをテスト ターゲットとアプリケーション ターゲットに追加する必要はありません。

メインの実行可能ファイルのどこにクラスがあるかを otest に伝える何らかの変数を追加する必要があるだけだと思いますが、この引数の名前がどうなるかわかりません。

誰かがこれを修正するための正しい方向に私を向けることができますか?

0 投票する
3 に答える
1315 参照

objective-c - Xcode で OCUnit テストのサブセットを実行する方法

プロジェクトをチェックインする前に使用する一連の単体テストがあります。ただし、多くの場合、そのうちの 1 つだけがコードの回帰を見つけます。このような場合、失敗のデバッグ中にその特定の単体テストのみを実行したいと思います。Xcodeでこれを行う方法が見つかりませんでした。出来ますか?