JUnitCore 运行所有测试

强烈建议创建 JUnit 套件并在应用程序范围内执行所有测试用例。

这将需要一些工作,但仍然是在 JUnit 中执行所有测试的最佳方式。

@RunWith(Suite.class)
@SuiteClasses({ TestFeatureOne.class, TestFeatureTwo.class })
public class TestFeatureSuite {
	//
}
如何使用JUnitCore执行测试用例

JUnitCore 是 JUnit 包中的一个内置类,它基于外观设计模式。

JUnitCore类用于仅运行指定的测试类。

JUnitCore 示例

假设在应用发布中,有两个新特性。
这些功能通过两个接口公开。
让我们假设接口名称是 FeatureOneFeatureTwo

待测试的功能

这两个功能的 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