Obtendo “NoSuchMethodError: org.hamcrest.Matcher.describeMismatch” ao executar o teste no IntelliJ 10.5

Estou usando o JUnit-dep 4.10 e o Hamcrest 1.3.RC

Criei um combinador personalizado que se parece com o seguinte:

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

Funciona perfeitamente quando executado a partir da linha de comando usando o Ant. Mas quando executado no IntelliJ, ele falha com:

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)

Meu palpite é que ele está usando o hamcrest.MatcherAssert errado. Como encontro qual hamcrest.MatcherAssert está sendo usado (ou seja, qual arquivo jar está sendo usado para hamcrest.MatcherAssert)? AFAICT, os únicos frascos de hamcrest no meu caminho de classe são 1.3.RC

O IntelliJ IDEA está usando sua própria cópia do JUnit ou Hamcres

Como eu produzo o CLASSPATH em tempo de execução que o IntelliJ está usando?

questionAnswers(12)

yourAnswerToTheQuestion