タグ付けされた質問 「hamcrest」

13
IntelliJ 10.5でテストを実行すると、「NoSuchMethodError:org.hamcrest.Matcher.describeMismatch」が発生する
JUnit-dep 4.10とHamcrest 1.3.RC2を使用しています。 次のようなカスタムマッチャーを作成しました。 public static class MyMatcher extends TypeSafeMatcher<String> { @Override protected boolean matchesSafely(String s) { /* implementation */ } @Override public void describeTo(Description description) { /* implementation */ } @Override protected void describeMismatchSafely(String item, Description mismatchDescription) { /* implementation */ } } Antを使用してコマンドラインから実行すると、完全に正常に動作します。しかし、IntelliJから実行すると、次のエラーで失敗します。 java.lang.NoSuchMethodError: org.hamcrest.Matcher.describeMismatch(Ljava/lang/Object;Lorg/hamcrest/Description;)V at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18) at …

7
従来のassertXXX()-Methodsの代わりにHamcrest-MatcherとassertThat()を使用する理由
AssertクラスのJavaDocの例を見ると assertThat("Help! Integers don't work", 0, is(1)); // fails: // failure message: // Help! Integers don't work // expected: is <1> // got value: <0> assertThat("Zero is one", 0, is(not(1))) // passes 私は、大きなアドバンテージはないと思いassertEquals( 0, 1 )ます。 構成がさらに複雑になった場合のメッセージに適していますが、より多くの利点がわかりますか?読みやすさ?
153 java  testing  junit  junit4  hamcrest 

5
Hamcrestでリストが空でないことを確認する
誰もがリストを使用して空であるかどうかを確認する方法を知っていた場合、私は思っていたassertThat()とMatchers? 私がJUnitを使用するのを見ることができる最良の方法: assertFalse(list.isEmpty()); しかし、私はこれをハムクレストで行う方法があることを望んでいました。


7
Hamcrestのコレクションを比較する
2つのリストを比較しようとしています。 assertThat(actual.getList(), is(Matchers.containsInAnyOrder(expectedList))); しかし、アイデア java: no suitable method found for assertThat(java.util.List<Agent>,org.hamcrest.Matcher<java.lang.Iterable<? extends model.Agents>>) method org.junit.Assert.<T>assertThat(T,org.hamcrest.Matcher<T>) is not applicable (no instance(s) of type variable(s) T exist so that argument type org.hamcrest.Matcher<java.lang.Iterable<? extends model.Agents>> conforms to formal parameter type org.hamcrest.Matcher<T>) method org.junit.Assert.<T>assertThat(java.lang.String,T,org.hamcrest.Matcher<T>) is not applicable (cannot instantiate from arguments because actual and …
114 java  junit  hamcrest 

17
java.lang.NoClassDefFoundError:org / hamcrest / SelfDescribing
でjunitテストを実行している間、eclipse私はこれを取得していますException: java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing junit.jarライブラリファイルを追加しました。 私はjunit.jarを、異なるバージョンを試してみた:4.4、4.8など この例外を修正するにはどうすればよいですか?

7
Iterableに特定のプロパティを持つ要素が含まれていることをアサートするにはどうすればよいですか?
このシグネチャでメソッドを単体テストしたいとします: List<MyItem> getMyItems(); を介してアクセスされるMyItem多くのプロパティを持つPojoであると想定し"name"ますgetName()。 私が確認する必要があるのは、、List<MyItem>またはany Iterableに2つのMyItemインスタンスが含まれ"name"ていることです。そのプロパティには値"foo"とがあります"bar"。他のプロパティが一致しない場合、このテストの目的は特に気にしません。名前が一致すれば、テストは成功です。 できればワンライナーにしたいです。これが私がやりたいことの一種の「疑似構文」です。 assert(listEntriesMatchInAnyOrder(myClass.getMyItems(), property("name"), new String[]{"foo", "bar"}); ハムクレストはこの種のものに良いでしょうか?もしそうなら、正確に上記の私の擬似構文のハムクレストバージョンは何でしょうか?

8
JUnitとHamcrestを一緒に使用する方法は?
JUnit 4.8がHamcrestマッチャーとどのように連携するか理解できません。内部で定義されたいくつかのマッチャがあるjunit-4.8.jarではorg.hamcrest.CoreMatchers。同時に、他にもいくつかのマッチャーがhamcrest-all-1.1.jarありorg.hamcrest.Matchersます。それで、どこへ行くのですか?hamcrest JARをプロジェクトに明示的に含め、JUnitが提供するマッチャーを無視しますか? 特に、私はempty()マッチャーに興味があり、これらのjarのどれにも見つかりません。他に何か必要ですか?:) そして哲学的な質問:なぜJUnit org.hamcrestはオリジナルのhamcrestライブラリを使用するように勧めるのではなく、独自のディストリビューションにパッケージを含めたのですか?
87 java  junit  hamcrest 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.