当前位置:  开发笔记 > 编程语言 > 正文

是否有用于运行测试组的JUnit TestRunner?

如何解决《是否有用于运行测试组的JUnitTestRunner?》经验,为你挑选了2个好方法。

我目前正在使用JUnit 4,并且需要将我的测试分成可以任意组合选择性运行的组.我知道TestNG有一个注释测试的功能,可以将它们分配给组,但我现在无法迁移到TestNG.看起来这可以通过一些自定义注释和一个自定义JUnit TestRunner在JUnit中轻松完成.我已经检查了两个JUnit文档并在网上搜索但是找不到这样的东西.有人知道这样的TestRunner吗?

更新:感谢您对测试套件的回复.我应该在原来的问题中解决这些问题.我们走了:我不想使用测试套件,因为他们需要我手动创建和管理它们,这意味着触摸我的所有测试并手动将它们安排到套件中(太多工作和维护噩梦).我需要做的就是运行所有单元测试,除了一些真正的集成测试.所以我想注释这些,并运行所有其他人.在其他时候,我想只运行集成测试.我还需要将单元测试分成多个组,这对套件来说是不可能的.希望这有助于清理事情.

更新2:如果JUnit没有这个OOB,我正在寻找一个将其添加到JUnit的开源库(注释+自定义JUnit Test Runner).



1> Kent Beck..:

JUnit目前没有这样的跑步者.解决潜在问题,需要在有限的时间内从测试套件中获得合理的保证,这是我们下一版本的最高开发优先级.与此同时,实现一个通过注释工作的过滤器似乎不会是一个大项目,尽管我有偏见.



2> flicken..:

查看Spring的SpringJUnit4ClassRunner.我已经使用它来选择性地运行基于System属性的测试,使用IfProfileValue注释.

这个:

@IfProfileValue(name="test-groups", values={"unit-tests", "integration-tests"})
  public void testWhichRunsForUnitOrIntegrationTestGroups() {
      // ...
 }

如果系统属性'test-groups'设置为'unit-tests'或'integration-tests',则会运行.

更新:JUnitExt有@Category@Prerequisite注释,看起来应该做你需要的.但是,我自己从未使用它,所以我不能保证它.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有