gpt4 book ai didi

java - (JUnitCore.runClasses) Java中的 'Main'类如何处理Junit文件?

转载 作者:行者123 更新时间:2023-12-02 05:17:47 26 4
gpt4 key购买 nike

Junit 测试用例文件如下

import org.junit.Test;    
import static org.junit.Assert.assertEquals;

public class TestJunit {
@Test
public void testAdd() {
String str= "Junit is working fine";
assertEquals("Junit is working fine",str);
}
}

================================================== =================

下面的主类文件

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(TestJunit.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
System.out.println(result.wasSuccessful());
}
}

上面的代码工作正常。请让我知道主类如何处理 Junit 文件。我无法理解主课。请解释一下

最佳答案

它使用反射。 TestJUnit.class 是代表 TestJUnit 类的 Class 对象。该对象允许获取有关该类的元数据:其名称、其基类、其方法、方法上的注释等。

因此,基本上,JUnitCore 会查找所有没有使用 @Test 注释的参数的 public void 方法,并执行它们。如果其中一个方法抛出意外异常,则为错误。如果其中一个方法使断言失败,则该方法失败;如果该方法正常完成,则该方法成功。

关于java - (JUnitCore.runClasses) Java中的 'Main'类如何处理Junit文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26776001/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com