JUnit JUnitCore
示例
原文: https://howtodoinjava.com/junit/how-to-execute-junit-testcases-with-junitcore/
在任何以增量方式构建的应用中,通常希望只要引入新功能,我们就只能运行某些测试。 可以使用 JUnit 框架的JUnitCore
类来实现。
JUnitCore
是 JUnit 包中的内置类,它基于外观设计模式。 JUnitCore
类仅用于运行指定的测试类。
阅读更多: JUnit5 测试套件
1. JUnitCore
示例
假设在应用发行版中有两个新功能。 这些功能通过两个接口公开。 假设接口名称为FeatureOne
和FeatureTwo
。
1.1 要测试的功能
这两个功能的 JUnit 测试可以如下:
package com.howtodoinjava.junit;
import junit.framework.Assert;
import org.junit.Test;
public class TestFeatureOne {
@Test
public void testFirstFeature()
{
Assert.assertTrue(true);
}
}
package com.howtodoinjava.junit;
import junit.framework.Assert;
import org.junit.Test;
public class TestFeatureTwo {
@Test
public void testSecondFeature()
{
Assert.assertTrue(true);
}
}
1.2 使用JUnitCore
运行测试
要仅针对上述功能运行测试,我们可以编写这样的套件。
package com.howtodoinjava.junit.suite;
import java.util.ArrayList;
import java.util.List;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import com.howtodoinjava.junit.TestFeatureOne;
import com.howtodoinjava.junit.TestFeatureTwo;
@SuppressWarnings("rawtypes")
public class WithJUnitCore
{
public static void main(String[] args)
{
List testCases = new ArrayList();
//Add test cases
testCases.add(TestFeatureOne.class);
testCases.add(TestFeatureTwo.class);
for (Class testCase : testCases)
{
runTestCase(testCase);
}
}
private static void runTestCase(Class testCase)
{
Result result = JUnitCore.runClasses(testCase);
for (Failure failure : result.getFailures())
{
System.out.println(failure.toString());
}
}
}
2. JUnitCore
在命令提示符下运行测试
要从命令提示符手动运行测试类,我们可以从控制台运行以下命令。 给出所有测试类的名称,以空格分隔。
$ java org.junit.runner.JUnitCore TestFeatureOne TestFeatureTwo
3. JUnitCore
运行所有测试
强烈建议创建 JUnit 套件,并在所有测试用例中执行应用。 这将需要一些工作,但是仍然是在 JUnit 中执行所有测试的最佳方法。
@RunWith(Suite.class)
@SuiteClasses({ TestFeatureOne.class, TestFeatureTwo.class })
public class TestFeatureSuite {
//
}
学习愉快!
参考: