JUnitCore 运行所有测试
强烈建议创建 JUnit 套件并在应用程序范围内执行所有测试用例。
这将需要一些工作,但仍然是在 JUnit 中执行所有测试的最佳方式。
@RunWith(Suite.class) @SuiteClasses({ TestFeatureOne.class, TestFeatureTwo.class }) public class TestFeatureSuite { // }
JUnitCore 是 JUnit 包中的一个内置类,它基于外观设计模式。
JUnitCore
类用于仅运行指定的测试类。
JUnitCore 示例
假设在应用发布中,有两个新特性。
这些功能通过两个接口公开。
让我们假设接口名称是 FeatureOne
和 FeatureTwo
。
待测试的功能
这两个功能的 JUnit 测试可以如下所示:
package com.onitroad.junit; import junit.framework.Assert; import org.junit.Test; public class TestFeatureOne { @Test public void testFirstFeature() { Assert.assertTrue(true); } }
package com.onitroad.junit; import junit.framework.Assert; import org.junit.Test; public class TestFeatureTwo { @Test public void testSecondFeature() { Assert.assertTrue(true); } }
使用 JUnitCore 运行测试
要仅对上述功能运行测试,我们可以编写这样的套件。
package com.onitroad.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.onitroad.junit.TestFeatureOne; import com.onitroad.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()); } } }
on it road.com
JUnitCore 从命令提示符运行测试
要手动从命令提示符运行测试类,我们可以从控制台运行以下命令。
给出以空格分隔的所有测试类的名称。
$ java org.junit.runner.JUnitCore TestFeatureOne TestFeatureTwo
日期:2020-09-17 00:09:52 来源:oir作者:oir