java - 用于运行 JUnit 测试的 YML 文件

标签 java junit yaml

我正在学习如何设置 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/

相关文章:

java - 带有main方法的spring3注解

java - 如果我想禁用测试,如果测试方法下方存在一些注释,如何处理 ExecutionCondition?

java - 如何验证使用给定接口(interface)的任何子类型的实例调用的方法

amazon-web-services - aws cloudformation Elasticsearch 堆栈

go - 使用键解析 yaml 提供错误

java - 为什么 Files.isHidden(Path) 在 Windows 上对目录返回 false?

Java继承问题

java - 如何将 java AffineTransform 映射到 android 的矩阵?

java - 如何在圆形 ImageView 中添加图标

html - 使用 Pandoc 从 HTML META 标签创建 YAML 元数据