[解決済み】IntelliJ 10.5でテストを実行すると「NoSuchMethodError: org.hamcrest.Matcher.describeMismatch 」が発生する。
2022-04-03 19:09:10
質問
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 org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:8)
at com.netflix.build.MyTest.testmyStuff(MyTest.java:40)
私の推測では、間違ったhamcrest.MatcherAssertを使っているのだと思います。 どのhamcrest.MatcherAssertを使っているか(つまり、hamcrest.MatcherAssertのためにどのjarファイルを使っているか)を見つけるにはどうすればよいですか? 私のクラスパスにある唯一のhamcrest jarは、1.3.RC2です。
IntelliJ IDEAは、JUnitの独自のコピーを使用していますか、それともHamcrestですか?
IntelliJが使用しているランタイムCLASSPATHを出力するにはどうしたらいいですか?
どのように解決するのですか?
問題は、間違った
hamcrest.Matcher
ではなく
hamcrest.MatcherAssert
クラスが使用されていました。 これは、私の依存関係の1つが指定していたjunit-4.8の依存関係から引き出されていたのです。
テスト中にどのソースからどのような依存関係(およびバージョン)が含まれているかを確認するには、以下を実行します。
mvn dependency:tree -Dscope=test
関連
-
[解決済み] クラスが見つかりません。IntelliJの空のテストスイート
-
[解決済み] 一部の入力ファイルが非推奨のAPIを使用またはオーバーライドしている
-
[解決済み] 最も近い整数への切り捨て - 私は不正をしているのでしょうか、それともこれは十分すぎるほど適切なのでしょうか?
-
[解決済み] Mavenです。JARは空になります - 含有するためにマークされたコンテンツがありません
-
[解決済み] スリーピング中のスレッドが割り込まれ、データベースへの接続が失われる
-
[解決済み] JavaFX 同じパッケージ内なのに「場所が必要です。
-
[解決済み] java.io.IOException。DER長の短い読み取り
-
[解決済み] Intellij Idea: Gradleプロジェクトのインポート - JAVA_HOMEがまだ定義されていないことを取得する
-
[解決済み] IntelliJ IDEAの起動時に前回のプロジェクトを開かないようにするには?
-
[解決済み】実行中のJavaプロセスにIntelliJ IDEAのデバッガをアタッチする。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] このフォーマット(Tue Jul 13 00:00:00 CEST 2010)の日付をJavaの日付に変換する方法(文字列はalfrescoのプロパティに由来しています)
-
[解決済み] Java Genericメソッドをstaticにするには?
-
[解決済み] Java UnknownFormatConversionException
-
[解決済み] Java Swingで複数のボタンに対して複数のActionListenersを追加する方法
-
[解決済み] javascriptでExpression言語を使うには?
-
[解決済み] mavenのコンパイルに失敗するのはなぜですか?
-
[解決済み] ファイルを作成せずに、ファイルが存在するかどうかをチェックする
-
[解決済み] Apache Camelのログに簡単なテキストを記録する
-
[解決済み] javaでAnnotation Inheritanceのようなものはあるのでしょうか?
-
[解決済み] java.lang.ClassCastException: java.lang.Long を java.lang.Integer にキャストできない(java 1.6