SpockフレームワークはJUnitテストを作成します。 これらは、TestNGを介して実行できる必要があります。 ただし、org.testng.junit.JUnit4TestMethodクラスには次のコードがあります。
private static Method getMethod(Description desc) {
Class<?> c = desc.getTestClass();
String method = desc.getMethodName();
try {
return c.getMethod(method);
} catch (Throwable t) {
Utils.log("JUnit4TestMethod", 2,
"Method '" + method + "' not found in class '" + c.getName() + "': " + t.getMessage());
return null;
}
}
渡された説明にはSpockテストのテキスト(「これは私のspockテストです」など)があり、Spockはテスト名をマングルするため、単純な「c.getMethod(method)」呼び出しは失敗します。 これが修正された場合、TestNGはSpock(JUnit)テストも実行できるはずです。
TestNGがテスト用にMethod
を取得しようとしているのはなぜだろうか。 これにより、JUnitランナーを実装するかなりの数のテストフレームワークで問題が発生します。
+1
+1
+1
+1
+1
+1
このチケットは現在2年以上前のものです。 まだ誰も(これまで)割り当てられていません! なんて完全な冗談でしょう。 TestNGの使用を検討している人がいる場合は、サポートが非常に貧弱であることを認識しておく必要があります。 すべてのテストがJUnitで行われたらいいのにと思います...
私たちは空き時間にtestngをサポートしており、その他の最も重要な問題を修正しました。
しかし、プロジェクトはオープンです。自分で修正してみませんか? プルリクエストのお手伝いをさせていただきます。
最後に、そしてあなたが言ったように、JUnitもソリューションです(そして良いプロジェクトです)。
@ blackduck-joeこの問題を調べましたが、修正方法がわかりません。
しかし、あなたの必要性はあなたのSO theadでより明確であり、私がそれをよく理解しているなら、あなたは2種類のテスト(spock / junitとtestng)を実行したいと思うでしょう。
次に、Mavenを使用している場合は、 https: //groups.google.com/forum/#!topic / spockframework / -iys4ARQrxkを確認するか、 TestNGおよびJUnitテストを実行する必要があります。
概念的には、現在のプロジェクトにjunitを追加する必要があるため、次のプロジェクトではjunitのみを使用することになります。
@rumatoest文句を@ juherrが述べている
私はすでにスポックと連絡を取りたいと思っていたので(常に新しいことを学びたいと思っています)、次回はこれを調べるかもしれません。
最も参考になるコメント
@rumatoest文句を@ juherrが述べている
私はすでにスポックと連絡を取りたいと思っていたので(常に新しいことを学びたいと思っています)、次回はこれを調べるかもしれません。