我正在学习如何设置 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 测试的帮助都会很棒。
最佳答案
嗯,显然您需要先编译 Java 代码,然后才能运行它:
language: java
jdk:
- oraclejdk7
script:
- javac TestRunner
- java TestRunner
当您使用 JUnit 时,您还需要将其添加到您的类路径中。对于最小的设置,您可以将必要的 jar 放在代码之外并使用
java -classpath junit.jar;hamcrest-core.jar TestRunner
但我认真建议最好使用依赖管理系统,如 Maven 或 gradle。
关于java - 用于运行 JUnit 测试的 YML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40950016/