問題タブ [ochamcrest]

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

xcode - IOS プロジェクトへの OCHamcrest の追加

プロジェクトのドキュメントには、フレームワークとリンカー フラグを追加するだけでよいと書かれています。何時間も無駄な時間を過ごした後、私はそれが真実ではないことを理解しました. これを行うと、プロジェクトはヘッダー ファイルを認識しません。コンパイラがヘッダーを見つけられるように、フレームワークをどこかに配置する必要があります。私の場合、フレームワークを /Developer/Library/Frameworks にドロップし、そのフレームワーク ディレクトリを検索する際に再帰するように指示したときに機能しました (ヘッダー検索ディレクトリをいじらないでください)。

次に、リンクが次のメッセージで失敗するという問題が発生します。

プロジェクトのドキュメントに、Xcode 4 用に更新されたことが記載されていることに気付きました。コードをチェックアウトした後、フレームワークのバイナリをプルダウンし、IOS バージョンのフレームワークをビルドできずに多くの時間を無駄にしました。

ドキュメントはこちらです。

また、そのドキュメントで、cocoa の指示では、ファイルのコピー フェーズをビルドに入れるように指示されていることに気付きました。私はそれを試しました。結果は変わりませんでした。

前回、陥没穴に陥ったのは、ライブラリが C++ コードだったからです。多分それはまだ問題です。

ここで迅速な解決策がない限り、STAssert の使用に戻ることにします。


更新: Xcode を再インストールしました。それでもうまくいきません。プロジェクトにヘッダーファイルを追加するなど、これを機能させる安価な方法があります。これについてのブログ投稿を行い、同じ経験を持つ人を引き出しました。

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

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

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

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

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

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

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

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

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

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

@実装

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

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

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

0 投票する
0 に答える
127 参照

objective-c - モック オブジェクトのカスタムの説明と debugDescription の値を返す

私は、優れた OCHamcrest マッチャーで OCMock を頻繁に使用します。しかし、あまり役に立たないテスト失敗メッセージに遭遇することがよくあります。これは、OCHamcrest の出力がオブジェクトの「説明」メソッドによって返される値に大きく依存しているにもかかわらず、OCMockObject のデフォルトの説明の実装が非常に汎用的であるためです。

モック オブジェクトがカスタムの説明を返すようにするための推奨される方法はありますか?

モック オブジェクトで「説明」メソッドをスタブしようとしましたが、うまくいかないようです。

OCClassMockObject+Description回避策として、メソッドを追加するカテゴリ拡張を作成しましたsetMockDescription:が、より公式にサポートされているソリューションがあることを願っています。(そうでない場合は、磨き上げてプル リクエストを送信します。)

改善したい結果の例をいくつか示します...

アサーションの例 #1

失敗メッセージ:

アサーション例 #2

失敗メッセージ:

0 投票する
0 に答える
404 参照

ios - プリミティブ関数引数を持つカスタム OCHamcrest マッチャー

HCMatcherオブジェクトのコレクションを操作するときに、いくつかのアサーションを簡単に使用できる独自のものを作成しようとしています。

現在、私のテスト方法はこれを行っています:

私は多くの場所でこの種のアサーションを行うつもりなので、次のように単純化したいと思います:

独自の OCHamcrest マッチャーを作成する試みは次のとおりです。

関数を使用しようとすると、次のhasTotalNumberOfFeedItemCells()ような警告とビルド エラーが表示されます。

  • 関数 'hasTotalNumberOfFeedItemCells' の暗黙の宣言は C99 では無効です
  • 「int」から「id」への暗黙的な変換は、ARC では許可されていません
  • 「hasTotalNumberOfFeedItemCells」のタイプが競合しています

どんな助けでも大歓迎です。