🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# JUnit `JUnitCore`示例 > 原文: [https://howtodoinjava.com/junit/how-to-execute-junit-testcases-with-junitcore/](https://howtodoinjava.com/junit/how-to-execute-junit-testcases-with-junitcore/) 在任何以增量方式构建的应用中,通常希望只要引入新功能,我们就只能运行某些测试。 可以使用 JUnit 框架的`JUnitCore`类来实现。 [**`JUnitCore`**](http://junit.sourceforge.net/javadoc/org/junit/runner/JUnitCore.html "JUnitCore")是 JUnit 包中的内置类,它基于**外观设计模式**。 `JUnitCore`类仅用于运行指定的测试类。 > 阅读更多: [JUnit5 测试套件](https://howtodoinjava.com/junit5/junit5-test-suites-examples/) ## 1\. `JUnitCore`示例 假设在应用发行版中有两个新功能。 这些功能通过两个接口公开。 假设接口名称为`FeatureOne`和`FeatureTwo`。 #### 1.1 要测试的功能 这两个功能的 JUnit 测试可以如下: ```java package com.howtodoinjava.junit; import junit.framework.Assert; import org.junit.Test; public class TestFeatureOne { @Test public void testFirstFeature() { Assert.assertTrue(true); } } ``` ```java 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`运行测试 要仅针对上述功能运行测试,我们可以编写这样的套件。 ```java 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 $ java org.junit.runner.JUnitCore TestFeatureOne TestFeatureTwo ``` ## 3\. `JUnitCore`运行所有测试 强烈建议创建 [JUnit 套件](https://howtodoinjava.com/junit/how-to-execute-junit-testcases-in-test-suite/),并在所有测试用例中执行应用。 这将需要一些工作,但是仍然是在 JUnit 中执行所有测试的最佳方法。 ```java @RunWith(Suite.class) @SuiteClasses({ TestFeatureOne.class, TestFeatureTwo.class }) public class TestFeatureSuite { // } ``` 学习愉快! 参考: [`JUnitCore` Java 文档](https://junit.org/junit4/javadoc/4.12/org/junit/runner/JUnitCore.html)