問題タブ [ocmockito]

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 投票する
1 に答える
445 参照

ios - Kiwi、OCHamcrest、および OCMockiti を使用した ios TDD を混在させることはできますか?

OCHamcrest を Kiwi と連携させることに成功した人はいますか? Kiwi プロジェクトを開始し、OCHamcrest フレームワークを追加してビルドに成功しました。

ただし、hamcrest を使用して Kiwi テスト ファイルで条件をアサートしようとすると、次のようになります。

私のテストは実行されませんでした。フリーズしただけで、手動で強制終了する必要がありました。

主にOCMockitoに固執したいと思っています.

誰かがこれで私を助けることができるかどうか疑問に思っていましたか?

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

objective-c - OCHamcrestマッチャーパラメーターは、VerifyのMockitoモックと互換性がありません

次の単体テストでは、Mockitoを使用してNSUserDefaultsをモックしていますが、OCHamcrestマッチャーを使用してパラメータがNSDictionaryのインスタンスであることをテストしようとすると、警告が表示されます。

互換性のないタイプ「NSDictionary*」のパラメーターに「id{HCMatcher}」を送信しています

ありがとう

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

ios - OCMockito モック検証用のカスタム OCHamcrest マッチャー

iOS プロジェクトの単体テストに OCHamcrest と OCMockito を使用しています。パラメータを取るメソッドの期待値の模擬検証でカスタム マッチャーを使用して理解を深めようとしています。特に、予期されるメソッドに渡されたパラメーターの 1 つを確認したいのですが、そのためには渡されたパラメーターを引き離す必要があります。実証するために、テストメソッドの関連部分について私が持っているものは次のとおりです。

-zkZSensorFound:fromSearchManager:、 を含むオブジェクトをEAAccessoryプロパティとして受け取ります。accessoryカスタム マッチャーで、そのオブジェクトを開いてそのプロパティを調べ、このテスト メソッド内のオブジェクトと同じであることを確認する必要があります。ここで行っているようにマッチャーに渡すのは簡単accessoryですが、マッチャー内で使用するためにパラメーターに渡される実際のオブジェクトを取得するにはどうすればよいでしょうか? それとも、私はこれについてすべて間違っていますか?

アップデート

@JonReid からの回答を受け入れました。これは、私が作成したものよりもはるかにエレガントなソリューションです。それにもかかわらず、私が使用していたもの (このブログ投稿のおかげで) は、他の場所で役立つ可能性があると思います:

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

objective-c - プリミティブ配列/ポインター引数を使用した Objective-C でのメソッド呼び出しの検証

私がテストしているクラスには2つのメソッドがあります:

-sendFormattedCommandForAddress:withData:andCommandType:配列を作成し、charこの配列へのポインタを に渡します-sendBuffer:length:。この配列の内容は、、、addressおよびdataによって異なりますcommandType。私のテストでは、正しい配列が作成されて に渡されることを確認したいと思います-sendBuffer:length:uint8_t *OCMock では、引数に期待値を設定できません。OCMockito/OCHamcrest では、(まだ) 部分モックを使用できません。-sendBuffer:length:テスト ケース クラスのメソッドを呼び出すメソッドと、そのメソッド呼び出しに期待値を設定するメソッドを入れ替えてみました。ただし、swizzled メソッドが呼び出されると、self私のテストケースではなく、テスト中のクラスを指しています。テスト対象のクラスでバッファーを保持し、テストでこのバッファーの内容を確認することはできますが、テストをサポートするためだけに実稼働コードに何かを追加するのは嫌いです。この動作をテストする方法について、より良い提案はありますか?

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

objective-c - OCMockito を使用した NSURLConnection sendAsynchronousRequest の単体テスト

次のようなインターフェースを持つ API ラッパーの単体テストを書くのに苦労しています

内部でこのメソッドを呼び出します。

代わりにデリゲートを使用したくありません。公開された API は sendAsynchronousRequest メソッドにはるかに快適に適合するためです (また、リクエストごとに個別のアキュムレータ オブジェクトを必要としません)。さらに、残りのコード全体のモックには OCMockito を使用していますが、これは部分的なモックやクラス メソッドのモックをサポートしていません。

この機能をテストできる他のテスト手法はありますか? 代わりにデリゲートを使用する必要がありますか?

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

objective-c - キウイのモックメソッドにパラメータの期待値を設定する方法

OCMockitoとOCHamcrestを使用して、モックされたメソッドへの引数に期待値を設定できます。

Kiwiを使用してこれを行うための同等の簡単な方法はないようです。次のようなスパイを使用して引数をキャプチャすることができます。

次に、キャプチャされたオブジェクトに対する期待を確認します。

キウイでこれを行うためのより不器用な方法はありますか?

(私はおそらくここでハムクレストマッチャーを使用できることを知っていますが、今のところ私はキウイが何ができるかを探っています)。

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

ios - OCMockito でメソッド呼び出しを検証する

ClassAにこれら2つのメソッドがあります

@実装

私のテストは以下のようになります:

しかし、それはうまくいきません。

onSubmit が呼び出されたときに、validateName が実行されることを確認するテストを作成するにはどうすればよいですか。