問題タブ [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 投票する
2 に答える
7773 参照

hamcrest - hamcrest で not 操作を使用する

私は最近、テストの 1 つで不等式を主張しようとしていました。しかし、ハムクレストで適切なマッチャーを見つけることができませんでした。私が理想的にやりたいことは、次のようなものです。

それを行う方法はありますか?

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

java - iterable の各要素が特定のマッチャーに一致すると主張する慣用的な Hamcrest パターンは何ですか?

次のスニペットを調べます。

これは、リストに「x」で終わらない要素がないことを表明します。もちろん、これは、リストのすべての要素が「x」で終わることを示す二重否定の方法です。

スニペットがスローすることにも注意してください。

これは、「x」で終わらない要素だけではなく、リスト全体をリストします。

だから、慣用的な方法があります:

  • 各要素が「x」で終わることを主張する (二重否定なし)
  • アサーション エラーの場合、「x」で終わらない要素のみを一覧表示する
0 投票する
1 に答える
154 参照

java - 他のライブラリに含まれているライブラリの最新バージョンを常に優先するように Eclipse に指示するにはどうすればよいですか?

私のプロジェクトではjunit-4.8.2.jarとmockito-all-1.8.5.jarを使用しています。どちらにも Hamcrest 1.1 が含まれています。これは、hamcrest-all-1.2.jar を追加するまで問題なく動作しています。どうやら私のコードはHamcrest 1.2にコンパイルされますが、Hamcrest 1.1で実行されているため、さまざまなNoSuchMethodErrorが発生します。

この問題を解決するにはさまざまな方法があるようですが (代わりに junit-dep-4.8.2 を使用するなど)、Eclipse に Hamcrest 1.2 を優先するように指示する方法はありますか。実行時とコンパイル時で?

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

java - junitがhamcrestの一部をバイナリに含めたが、ソースには含めなかった理由

さて、ここがjunitをダウンロードする場所です。コンパイルされたjarを開きます-パッケージorg.hamcrestがあります。source-jarを開きます-そのようなパッケージはありません。hamcrestのソースはgooglecodeで入手できるので、それは非常に奇妙です。

それで、ユーザーに不便をかけることを除いて、これの理由はありますか?

これにどのように対処しますか、またはIDEでこれらのソースを調べないでください。

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

java - hamcrest の hasKey() メソッドをコンパイルできません

これはコードです:

これはコンパイラが言っていることです:

なぜ、何ができるのですか?

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

java - 静的インポートを使用するときに型推論をヒントする方法は?

ユニットテストでハムクレスト付きのjunitを使用していますが、ジェネリックスの問題が発生しました。

この方法では型推論が利用できないことを認識しており、解決策の1つは型ヒントを提供することですが、静的インポートを使用する場合、どのように型推論を行う必要がありますか?

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

jmock - JMockの期待 - 期待の実際の値を確認することは可能ですか?

私は Java と JMock が初めてで、現在、モッキングに頭を悩ませようとしています。ダミー クラスを使用して、このダミー テストを作成しました。

}

私の Class2Impl.method2() は整数 10 を返しますが、期待値は 1234 に設定されています。10を返すことを確認することは可能ですか、それとも意味がありますか?

ありがとう

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

java - 一般的な assertThat(ArrayList, hasItems(InstanceOfSomeInterface)) が機能しない

オンhasItemsになっている「実際の」コレクションでHamcrest を使用したいArrayList<? extends SomeInterface>

コンパイラは次のように述べています。

assertThat(T, Matcher<T>)型のメソッドAssertは引数に適用できません(ArrayList<capture#9-of ? extends MyInterface>, Matcher<Iterable<MyInterface>>)

何がうまくいかないのですか?それについて私は何ができますか(私は本当にここでHamcrestを使いたいです)?

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

java - LambdaJ クラスのプロパティマッチャー

Class オブジェクトを返すメソッドの戻り値を検証する Hamcrest マッチャーを作成しようとしています。たとえば、次のクラスがあるとします。

呼び出しの結果と一致する Hamcrest マッチャーを作成するテストがありますgetClazz()

ただし、このマッチャーは実行時に例外をスローします。

LambdaJ を使用してそのようなマッチャーを作成する方法はありますか?

0 投票する
15 に答える
117798 参照

java - IntelliJ 10.5 でテストを実行しているときに「NoSuchMethodError: org.hamcrest.Matcher.describeMismatch」を取得する

JUnit-dep 4.10 と Hamcrest 1.3.RC2 を使用しています。

次のようなカスタム マッチャーを作成しました。

Ant を使用してコマンド ラインから実行すると、問題なく動作します。しかし、IntelliJ から実行すると、次のエラーで失敗します。

私の推測では、間違った hamcrest.MatcherAssert を使用していると思われます。使用している hamcrest.MatcherAssert (つまり、hamcrest.MatcherAssert に使用している jar ファイル) を見つけるにはどうすればよいですか? AFAICT、私のクラスパスにある唯一の hamcrest jar は 1.3.RC2 です。

IntelliJ IDEA は JUnit または Hamcrest の独自のコピーを使用していますか?

IntelliJ が使用しているランタイム CLASSPATH を出力するにはどうすればよいですか?