問題タブ [ocmock]

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 に答える
1764 参照

iphone - iphone OCMockObject および NSURLConnection から継承するクラスの単体テスト

NSURLConnection から継承するクラスのカスタム init メソッドを単体テストしたい - テスト可能なクラスの init が呼び出す場合、どうすればよいNSURLConnection's initWithRequestですか?

私は OCMock を使用しており、通常、テスト クラスに含まれるオブジェクトをモックできます。この継承シナリオでは、これを行う最善の方法は何ですか?

私のクラスは次のように実装されています:

エラーは次のとおりです。

OCMockObject[NSURLRequest]: 予期しないメソッドが呼び出されました: _CFURLRequest

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

iphone - SenTestCase 派生クラスから NSInvocation を呼び出すことはできませんか?

NSInvocation クラスは、単体テスト (iPhone の場合) を介して呼び出されることを意図していませんか?

私の意図は、クラスのメソッドを一般的に呼び出すことであり、メソッドには2つ以上のパラメーターがあるため、使用できません[myTestClass performSelector:withObject:withObject]

代わりに、NSInvocation を使用しようとしていますが、NSInvocation クラスからインスタンス化しようとするとすぐに、ビルド エラーが発生します。

2009-12-31 11:12:16.380 otest[2562:903] ******** NSInvocation の呼び出しについて /Developer/Tools/RunPlatformUnitTests.include: 415 行目: 2562 バス エラー
"${THIN_TEST_RIG}" "$ {OTHER_TEST_FLAGS}" "${TEST_BUNDLE_PATH}" /Developer/Tools/RunPlatformUnitTests.include:451: エラー: テスト リグ '/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.2.sdk/Developer/usr/bin /otest' がコード 138 で異常終了しました (クラッシュした可能性があります)。

テスト中の私のクラス:

私の単体テスト:

実行時に 2 つ以上のパラメーターを持つメソッドを呼び出す方法は何ですか? パラメータが 2 つしかないように、メソッドのシグネチャを変更する必要がありますか? これは単体テスト フレームワークの制限ですか?

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

iphone - 引数を持つメソッドの OCMock で値を返す

単体テストしようとしている NSUserDefaults に依存するクラスがあり、NSUserDefaults をモックとしてテスト クラスに提供しています。テストを実行すると、次のエラーが表示されます。

OCMockObject[NSUserDefaults]: 予期しないメソッドが呼び出されました: dictionaryForKey:@"response"

NSUserDefaults クラスのこのインスタンス メソッドをモックしようとしています。

呼び出し形式を使用する:

DictionaryForKey メソッドを期待する必要があることをモックに伝えます。しかし、どういうわけか、これは記録されていないか、モックに「dictionaryForKey」呼び出しを期待することを知らなかったというエラーが表示されるため、期待するようにモックに伝えるのは正しくありません。

スタブの andReturn を呼び出す方法は、この質問と非常に似ているように見えますが、その質問では、ポスターは戻り値を取得していると述べています。私のテストケース:

私のクラス:

助言がありますか?

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

objective-c - OCMock と Core Data を使用したコントローラー メソッドのテスト

私はTDDとモッキングの概念を把握しているだけで、適切に行う方法に関して問題に直面しています。ドロップダウンを使用して、ユーザーが新しいコア データ オブジェクトを作成し、それをデータ ストアに保存できるようにするシートがあります。テストに最善のアプローチを取っているかどうかはわかりません。

これをテストするために、2 つのテスト メソッドを作成しようとしています。

以下は、私が抱えていることがわかっている問題ですが、解決方法がわかりません。

  1. テストに関して管理対象オブジェクトのコンテキストを処理する方法がわかりません。コア データ スタック全体を表示するか、単にモックを作成する必要がありNSManagedObjectContextますか?
  2. if ステートメントをトリガーする方法としてテキスト フィールドの値を設定するという考えは間違っているようです。理想的には、メソッドをスタブアウトして YES または NO を返す必要があると思いますsave:が、質問 1 を考えると、すべてのコア データの側面について確信が持てません。

私は正しい方向に進んでいると思いますが、問題に対処する方法についてセカンドオピニオンを使用し、コード スニペットをテストするための正しい道筋を立てることができます。

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

xcode - OCMock テストのビルドに失敗しました: Foundation/Foundation.h : No such file or directory

私は Xcode の初心者で、OCMock テストのコンパイルでいくつかの問題に直面しています。「グループとファイル」に OCMock.framework を追加し、基本的にカナリア テスト用に、ユニット テスト ターゲットから非常に基本的な OCMock テストを追加しました。

OCMockTests.m ファイルをコンパイルすると、OCMock.Framework ファイルにあるすべてのインポートされたヘッダーが存在しないことを指摘する約 38 個のエラーがシステムから返され、上部に "Foundation/Foundation.h : No such file orディレクトリ"。しかし、OCMock.Framework をコンパイルすると、すべてが成功します。Foundation.h を NSObject.h に置き換えようとしましたが、システムはそれを見つけることさえできません。

私はそれがいくつかのリンカエラーであると考えています....システムはおそらくSentest.Frameworkの場所を取得できません。ところで、実行可能情報 - 環境変数 - DYLD_FALLBACK_FRAMEWORK_PATH を正しい (?) Sentest フレームワーク パス (引数は「-Sentest All」)、つまり IphoneOS フォルダーに更新しました。

あなたのアドバイスが必要です...たくさんありがとう。〜さやん

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

objective-c - Objective-CでOCMockのモックと検証メソッドを使用するには?

私の問題は、エラーが発生することです:

OCMckObject[NSNumberFormatter]: 予期されたメソッドが呼び出されませんでした:setallowFloats:YES

私は次のコードを書きました:

0 投票する
6 に答える
16655 参照

objective-c - OCMock を使用して、メソッドが呼び出されないことを確認するにはどうすればよいですか?

私の日常の仕事では、モック メソッドが呼び出されないことを確認できるMockitoの validationに甘やかされてきました。never()

Objective-C と OCMock を使用して同じことを達成する方法はありますか? 以下のコードを使用していますが、動作しますが、ハックのように感じます。もっと良い方法があるといいのですが...

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

ocmock - OCmock と MKReverseGeocoder

逆ジオコーディングを使用する方法をテストしたいと思います。私がやりたいことは次のとおりです。

  • コントローラーのプロパティとしてジオコーダーを設定する

  • init メソッドでジオコーダーを作成する

  • テストしたいメソッドでジオコーダーを呼び出す

  • 私のテストでジオコーダーをモックに置き換えます

問題は、MKReverseGeocoder 座標プロパティが読み取り専用であることです。コンストラクター メソッドでのみ設定できます。

そしてもちろん、座標はテストしたいメソッドでのみ利用できます..

MKReverseGeocoder クラスをモックする方法を知っている人はいますか?

前もってありがとう、ヴィンセント。

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

iphone - iOS 4 の OCMock

iOS 4 で OCMock を実行する際に問題が発生しました。

ライブラリを構築してlibOCMock.aをインストールするための可能な解決策を読みましたが、正直なところ、方法がわかりません。どんな助けでも役に立ちます

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

iphone - iPhone用OCMock(iOS4、XCode 3.2.3)

OCMock (1.55) と XCode 3.2.3の最新バージョンを使用しています。

プロジェクトにテスト バンドル ターゲットを作成しました。テストで OCMock を使用する最良の方法は何ですか? OCMock.framework をテスト バンドルに追加すると、次のビルド エラーが表示されます。