加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 您可以从命令行运行所有JUnit测试,而不显式列出它们?

发布时间:2020-12-14 16:33:44 所属栏目:Java 来源:网络整理
导读:如果测试类和JUnit都在类路径上,则可以从命令行运行JUnit测试,如下所示: java org.junit.runner.JUnitCore TestClass1 TestClass2 现在,有没有办法在包(和子包)中运行所有测试? 我正在寻找类似的东西 java org.junit.runner.JUnitCore com.example.tests.t
如果测试类和JUnit都在类路径上,则可以从命令行运行JUnit测试,如下所示:
java org.junit.runner.JUnitCore TestClass1 TestClass2

现在,有没有办法在包(和子包)中运行所有测试?

我正在寻找类似的东西

java org.junit.runner.JUnitCore com.example.tests.testsIWantToRun.*

有没有一个简单的方法(不涉及maven或ant)?

解决方法

Junit允许您定义 suites的测试.每个套件定义了一组测试,并运行该套件会导致所有的测试运行.我所做的是为每个包定义一个套件,列出该包的测试类以及任何子包的套件:
package com.foo.bar;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

import com.foo.bar.baz.Suite_baz;

@RunWith(Suite.class)
@Suite.SuiteClasses({
    ThisTest.class,ThatTest.class,TheOtherTest.class,Suite_baz.class,})
public class Suite_bar {
}

这不是完全不费力的.您必须构建套件并使用新的测试类手动更新它们.我想,如果有人想要,自动生成这些Java程序并不难.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读