(JUnitCore.runClasses)Java中的“ Main”类如何处理Junit文件?

鲁皮什·辛德

下面的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文件。我听不懂主要班级。请解释

尼伯(JB Nizet)

它使用反射。TestJUnit.classClass代表您的TestJUnit班级对象该对象允许获取有关类的元数据:其名称,其基类,其方法,方法的注释等。

因此,基本上,JUnitCore会查找所有没有用注释的参数的公共void方法@Test,并执行它们。如果其中一个方法引发了意外的异常,那就是错误。如果其中一种方法使断言失败,则为失败,并且如果该方法正常完成,则为成功。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章