JUnit 4 JUnitCore详解示例

后端 潘老师 6个月前 (10-24) 128 ℃ (0) 扫码查看

在任何应用程序中,当我们希望每次引入新特性时都能够只运行某些特定测试,就可以使用JUnit框架中的JUnitCore类来实现。

JUnitCore是JUnit包中内置的一个类,它基于门面设计模式。JUnitCore类用于只运行特定的测试类。

1.JUnitCore示例

假设应用程序发布中有两个新特性,这两个特性通过两个接口进行暴露。假设这两个接口的名称分别是FeatureOne和FeatureTwo。

1.1 需要测试的特性

针对这两个特性的JUnit测试如下所示:

public class TestFeatureOne {
  @Test
  public void testFirstFeature()
  {
    Assert.assertTrue(true);
  }
}
public class TestFeatureTwo {
  @Test
  public void testSecondFeature()
  {
    Assert.assertTrue(true);
  }
}

1.2 使用JUnitCore运行测试

要仅针对上述特性编写套件并运行测试,我们可以像下面这样编写:

@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 {
  //
}

版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/back/10325.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】