彼、みんな!私のテストはジェンキンズの一般パッケージから実行されています。最初に実行されるspockでテストパッケージを設定できます。このパッケージでテストをパスしなかった場合、他のテストはスキップする必要があります。私はこのような例を見ました:パッケージ別スポーク注文テスト
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({TestJunit1.class, TestJunit2.class})
public class JunitTestSuite {
}
をしかし、多分スポックは、私は他の多くのパッケージに多くのテストクラスを持っているので、私は、代わりに各クラスの列挙型をパッケージを使用することができるソリューションを持っています。 はまた、私はランナー
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class TestRunner {
public static void main(String[] args) {
Result result = JUnitCore.runClasses(JunitTestSuite.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
System.out.println(result.wasSuccessful());
}
}
メインスレッドdoesntの停止を使用した後。どうしてか分かりません。
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({com.example.test.*.class})
public class JunitTestSuiteFirst {
}
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({com.example.otherTest.*.class, com.example.otherTests2.*.class})
public class JunitTestSuiteFirst {
}
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class TestRunner {
public static void main(String[] args) {
Result result = JUnitCore.runClasses(JunitTestSuite.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
if(result.wasSuccessful()){
JUnitCore.runClasses(JunitTestSuite.class);
}else {
System.out.println("Build failed");
}
}
}
それとも、このタスクのより簡単な解決策を存在: は、私はそのような何かをしたいです。ありがとう。
私のすべてのテストは、1つのパッケージにあります。はい、いくつか試した後に。私はgradleファイルで開始の順番を追加しました。私はパッケージの1つのタスクに除外を追加し、他のタスクに必要なパッケージのみを含めます。そして、このタスク間にdependsOnを設定します –