JUnit-dep 4.10 ve Hamcrest 1.3.RC2 kullanıyorum.
Aşağıdaki gibi görünen özel bir eşleştirici oluşturdum:
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 kullanarak komut satırından çalıştırıldığında mükemmel çalışıyor. Ancak IntelliJ'den çalıştırıldığında başarısız olur:
java.lang.NoSuchMethodError: org.hamcrest.Matcher.describeMismatch(Ljava/lang/Object;Lorg/hamcrest/Description;)V
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:18)
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:8)
at com.netflix.build.MyTest.testmyStuff(MyTest.java:40)
Benim tahminim yanlış hamcrest kullanmasıdır.MatcherAssert. Hangi hamcrest.MatcherAssert'i kullandığını (yani hamcrest.MatcherAssert için hangi jar dosyasını kullandığını) nasıl bulabilirim? AFAICT, sınıf yolumdaki tek hamcrest kavanozları 1.3.RC2.
IntelliJ IDEA kendi JUnit veya Hamcrest kopyasını kullanıyor mu?
IntelliJ tarafından kullanılan CLASSPATH çalışma zamanının çıktısını nasıl alabilirim?