De la “NoSuchMethodError: org.hamcrest.Matcher.describeMismatch” lors de l'exécution de test dans IntelliJ 10.5

Je suis en utilisant JUnit-dep 4.10 et Hamcrest 1.3.RC2.

J'ai créé une correspondance personnalisée qui se présente comme suit:

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 */
    }
}

Il fonctionne parfaitement bien lorsque vous exécutez à partir de la ligne de commande à l'aide de Ant. Mais lorsqu'il est exécuté à partir de l'Ide, il échoue avec:

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)

Ma conjecture est que c'est l'utilisation de la mauvaise hamcrest.MatcherAssert. Comment puis-je trouver les hamcrest.MatcherAssert d'utilisation (c'est à dire le fichier jar il utilise pour hamcrest.MatcherAssert)? AFAICT, la seule hamcrest pots dans mon classpath est de 1,3.RC2.

Est IntelliJ IDEA à l'aide de son propre exemplaire de JUnit ou Hamcrest?

Comment puis-je sortie de l'exécution de chemin de classe que l'Ide est l'aide?

InformationsquelleAutor Noel Yap | 2011-10-23