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

前端之家收集整理的这篇文章主要介绍了java – 您可以从命令行运行所有JUnit测试,而不显式列出它们?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果测试类和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程序并不难.

猜你在找的Java相关文章