我正在学习如何设置CI服务器,其中一部分是制作.yml文件。我想要做的就是构建我的简单Java项目并运行Junit测试,为我提供结果。我已经尝试了很多不同的方法来实现它,但没有任何工作。
.yml
language: java
jdk:
- oraclejdk7
script: java TestRunner
TestRunner.java
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(ForwardingListTest.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
System.out.println(result.wasSuccessful());
}
}
CI服务器给出了Error: Could not find or load main class TestRunner
错误,这是没有意义的,因为TestRunner有一个main方法。
有关如何修复.yml文件以执行junit测试的任何帮助都会很棒。
答案 0 :(得分:1)
嗯,显然你需要先编译Java代码才能运行它:
language: java
jdk:
- oraclejdk7
script:
- javac TestRunner
- java TestRunner
当您使用JUnit时,您还需要在类路径中使用它。对于最小化设置,您可以在代码之外放置必要的jar并使用
java -classpath junit.jar;hamcrest-core.jar TestRunner
但我认真建议使用像maven或gradle这样的依赖管理系统。