問題タブ [hamcrest]

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

java - この hamcrest マッチャが Eclipse では機能するのに、外部では機能しないのはなぜですか?

重複の可能性:
Hamcrest の hasItems

次のような hamcrest マッチャーを使用してテストを作成しました。

これは、Eclipse でコンパイルすると機能しますが、Eclipse 以外では機能しません。私の Maven プロジェクトは Eclipse コンパイラを使用しているため、Maven を使用すると Eclipse の外部でコンパイルされますが、標準の Java コンパイラを使用するとコンパイルされません。

エラーメッセージが表示されます

シンボル メソッド assertThat(java.util.Collection,org.hamcrest.Matcher>) が見つかりません

junit 4.10 と hamcrest 1.3.RC2 を使用しています。

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

testing - なぜmockitoがエラーイブ引数を返すのは同じですか?

この写真を見てください。Mockito検証引数で何が起こっているのですか?

ビューが引数 factory で呼び出されることを確認したいと思います。

しかし、私は奇妙なこのエラーを受け取りました?!

できるように、引数は同一です。 ここに画像の説明を入力

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

java - 日付のハムクレストライブラリ

私は周りを見回してきましたが、何も役に立ちませんでした。日付が広範囲に一致するhamcrestと連携するサードパーティのライブラリはありますか?

具体的には、次のラインに沿ってマッチャーを探しています。

私は自分自身を転がす前にそこに何かがあるかどうかを見たかった。

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

java - JMock- java.lang.NoSuchMethodError: org.hamcrest.Matcher.describeMismatch()

解決策は、hamcrest の後に Junit がロードされるようにすることだと理解しています。JUnitとJMockとhamcrestの両方を含む外部ライブラリをセットアップするintellijプロジェクトがあります。このエラーが表示されないようにするにはどうすればよいですか

0 投票する
9 に答える
179056 参照

java - Iterable に特定のプロパティを持つ要素が含まれていると断言するにはどうすればよいですか?

このシグネチャを使用してメソッドを単体テストしたいとします。

MyItemは、多くのプロパティを持つ Pojo であると仮定します。そのうちの 1 つは であり"name"、 経由でアクセスされますgetName()

私が確認したいのは、List<MyItem>、または anyに 2 つのインスタンスIterableが含まれており、そのプロパティの値がとであることだけです。他のプロパティが一致しない場合、このテストの目的はあまり気にしません。名前が一致すれば、テストは成功です。MyItem"name""foo""bar"

できればワンライナーでお願いします。これは、私がやりたいことの「疑似構文」です。

ハムクレストはこの種のものに適していますか? もしそうなら、上記の擬似構文の hamcrest バージョンは正確には何ですか?

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

groovy - GroovyのマッチャーでのJMock2の使用:「with」メソッドの問題

テストメソッドにJMockの期待値を含む次のスニペットがあります。

ここでanyInsertionEventaRowChangedEventAsのインスタンスを返しますMatcher<TableModelEvent>。これは、「テストによってガイドされるオブジェクト指向ソフトウェアの成長」(p.181)から引用したものです。

このテストをGroovyに変換しようとしていますが、必要な方法は次のとおりです。

によって影が付けられます:

その結果、テスト中に次のようなエラーが発生します。

適切な方法を使用するにはどうすればよいwithですか?または、この問題を解決するための他の方法をアドバイスしてください。

更新:シャドウイングではありません。Expectations.with(Matcher<Boolean>)したがって、実際に呼び出されるメソッドはfalse、スタックトレースの値です。そのため、メソッドが誤ってディスパッチされます。それをどうするかアイデアはありますか?

更新:マッチャーメソッドは次のとおりです。

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

java - 空のコレクションを Hamcrest の hasItem() と照合します

hasItemTestNG とHamcrestを使用して空のコレクションを一致させるにはどうすればよいですか? これは、1回のテストの結果として得られるものです。

これが私のマッチャークラスです:

失敗するテストは

expectedMatcher、データ プロバイダーによって提供されます。結果として、この「空のコレクション」と一致させるために何を渡せばよいかわかりません。nullデフォルトのコンストラクターを渡していますが、メンバーでコレクションを作成するため、これが機能しないことはわかっています。

これは私のデータプロバイダーの一部です:

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

serialization - Wicket 動作におけるシリアル化不可能なマッチャー

MatcherHamcrest (および一部の Lambdaj) を使用して、指定されたプロパティ モデル値のいずれかが指定されたマッチャーと一致するかどうかを確認し、一致する場合はコンポーネントを非表示にする、Wicket での可視性動作を構築していました。

Hamcrest Matcher はシリアライズ可能ではなく、Issue Tracker によると、シリアライズ可能にするつもりはないことに気付きました。

上記は単なる例です。s やその他の Wicketに渡すMatchersためのいくつかの使用法を見ることができます。Behavior

これを回避する方法はありますか?

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

java - より良い JUnit パラメータ化テスト ケースの作成

興味深い要件があります。アプリケーションのテスト ケース カバレッジを可能な限り改善したいと考えています。パラメータ化された Junit を使用して、多数の異なる入力でテストケースを実行しています。サンプル テスト クラスは次のようになります。

このようにして、テスト パラメーターを使用してアサーション ロジックを定義しました。テストケースで複数のマッチャーを実行したいのですが、そのうちのいくつかは私が書いたカスタムマッチャーにすることができます。

そして、アサーションは次のようになります。

しかし問題は、両方のマッチャーが異なるオブジェクトで実行されることです。CustomMatcher を定義する最良の方法は何ですか??

マッチャーのタイプによってアサーションを分類する必要がありますか?

助けていただければ幸いです。前もって感謝します。