問題タブ [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.
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 を使用しています。
testing - なぜmockitoがエラーイブ引数を返すのは同じですか?
この写真を見てください。Mockito検証引数で何が起こっているのですか?
ビューが引数 factory で呼び出されることを確認したいと思います。
しかし、私は奇妙なこのエラーを受け取りました?!
できるように、引数は同一です。
java - 日付のハムクレストライブラリ
私は周りを見回してきましたが、何も役に立ちませんでした。日付が広範囲に一致するhamcrestと連携するサードパーティのライブラリはありますか?
具体的には、次のラインに沿ってマッチャーを探しています。
私は自分自身を転がす前にそこに何かがあるかどうかを見たかった。
java - JMock- java.lang.NoSuchMethodError: org.hamcrest.Matcher.describeMismatch()
解決策は、hamcrest の後に Junit がロードされるようにすることだと理解しています。JUnitとJMockとhamcrestの両方を含む外部ライブラリをセットアップするintellijプロジェクトがあります。このエラーが表示されないようにするにはどうすればよいですか
java - Iterable に特定のプロパティを持つ要素が含まれていると断言するにはどうすればよいですか?
このシグネチャを使用してメソッドを単体テストしたいとします。
MyItem
は、多くのプロパティを持つ Pojo であると仮定します。そのうちの 1 つは であり"name"
、 経由でアクセスされますgetName()
。
私が確認したいのは、List<MyItem>
、または anyに 2 つのインスタンスIterable
が含まれており、そのプロパティの値がとであることだけです。他のプロパティが一致しない場合、このテストの目的はあまり気にしません。名前が一致すれば、テストは成功です。MyItem
"name"
"foo"
"bar"
できればワンライナーでお願いします。これは、私がやりたいことの「疑似構文」です。
ハムクレストはこの種のものに適していますか? もしそうなら、上記の擬似構文の hamcrest バージョンは正確には何ですか?
groovy - GroovyのマッチャーでのJMock2の使用:「with」メソッドの問題
テストメソッドにJMockの期待値を含む次のスニペットがあります。
ここでanyInsertionEvent
、aRowChangedEventAs
のインスタンスを返しますMatcher<TableModelEvent>
。これは、「テストによってガイドされるオブジェクト指向ソフトウェアの成長」(p.181)から引用したものです。
このテストをGroovyに変換しようとしていますが、必要な方法は次のとおりです。
によって影が付けられます:
その結果、テスト中に次のようなエラーが発生します。
適切な方法を使用するにはどうすればよいwith
ですか?または、この問題を解決するための他の方法をアドバイスしてください。
更新:シャドウイングではありません。Expectations.with(Matcher<Boolean>)
したがって、実際に呼び出されるメソッドはfalse
、スタックトレースの値です。そのため、メソッドが誤ってディスパッチされます。それをどうするかアイデアはありますか?
更新:マッチャーメソッドは次のとおりです。
java - 空のコレクションを Hamcrest の hasItem() と照合します
hasItem
TestNG とHamcrestを使用して空のコレクションを一致させるにはどうすればよいですか? これは、1回のテストの結果として得られるものです。
これが私のマッチャークラスです:
失敗するテストは
はexpectedMatcher
、データ プロバイダーによって提供されます。結果として、この「空のコレクション」と一致させるために何を渡せばよいかわかりません。null
デフォルトのコンストラクターを渡していますが、メンバーでコレクションを作成するため、これが機能しないことはわかっています。
これは私のデータプロバイダーの一部です:
serialization - Wicket 動作におけるシリアル化不可能なマッチャー
Matcher
Hamcrest (および一部の Lambdaj) を使用して、指定されたプロパティ モデル値のいずれかが指定されたマッチャーと一致するかどうかを確認し、一致する場合はコンポーネントを非表示にする、Wicket での可視性動作を構築していました。
Hamcrest Matcher はシリアライズ可能ではなく、Issue Tracker によると、シリアライズ可能にするつもりはないことに気付きました。
上記は単なる例です。s やその他の Wicketに渡すMatchers
ためのいくつかの使用法を見ることができます。Behavior
これを回避する方法はありますか?
java - より良い JUnit パラメータ化テスト ケースの作成
興味深い要件があります。アプリケーションのテスト ケース カバレッジを可能な限り改善したいと考えています。パラメータ化された Junit を使用して、多数の異なる入力でテストケースを実行しています。サンプル テスト クラスは次のようになります。
このようにして、テスト パラメーターを使用してアサーション ロジックを定義しました。テストケースで複数のマッチャーを実行したいのですが、そのうちのいくつかは私が書いたカスタムマッチャーにすることができます。
そして、アサーションは次のようになります。
しかし問題は、両方のマッチャーが異なるオブジェクトで実行されることです。CustomMatcher を定義する最良の方法は何ですか??
マッチャーのタイプによってアサーションを分類する必要がありますか?
助けていただければ幸いです。前もって感謝します。