相关疑难解决方法(0)

使用Maven从@Category运行所有测试

我想只运行我的单元测试的一个子集,由特定的测试定义@Category.

所以我读了几个SO问题,比如这个(这正是我要找的),还有这个问题.

我的问题的解决方案似乎是由ClasspathSuite项目提供的.所以我开始编写定义我的测试类别的接口NewTestOldTest接口.然后,我创建了AllTests套件:

@RunWith(ClasspathSuite.class)
public class AllTests { }
Run Code Online (Sandbox Code Playgroud)

之后,我创建了一个AllNewTests套件:

@RunWith(Categories.class)
@IncludeCategory(NewTest.class)
@SuiteClasses( { AllTests.class })
public class AllNewTests { }
Run Code Online (Sandbox Code Playgroud)

最后,我创建了两个JUnit类,每个类别一个:

@Category(NewTest.class)
public class SomeNewTests {
    // some tests...
}

@Category(OldTest.class)
public class SomeOldTests {
    // some tests...
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我运行AllTests,Eclipse会启动我项目的所有测试,而Maven会因为没有找到测试而失败:

mvn test -Dtest=AllTests

...
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running my.company.AllTests
Tests run: 0, Failures: 0, Errors: 0, Skipped: …
Run Code Online (Sandbox Code Playgroud)

junit categories surefire maven

6
推荐指数
1
解决办法
6214
查看次数

标签 统计

categories ×1

junit ×1

maven ×1

surefire ×1