2

我正在开发一个使用 Maven 编写的项目。

如果我做

mvn clean install 

然后我希望它会在/testforder 下运行所有​​单元测试。

我重定向了构建过程并存储到一个输出文件中,并试图通过名称找出单元测试。但是,我无法找到一些单元测试。似乎某些单元测试实际上并未在构建过程中执行。

我的问题是我如何知道将在构建过程中执行的单元测试的选择。

4

2 回答 2

2

您可以尝试在命令行中显式命名组,如下所示:

mvn clean install -Dtest.groups="unit,integration"

或者干脆

mvn test -Dtest.groups="unit,integration"

这是我每天使用的一个例子。我的测试要么在单元中,要么在集成组中。如果您希望运行所有(或部分)测试而不需要明确指定要使用的组,您必须修改您的 maven 配置。

于 2013-03-26T22:54:11.500 回答
2

Maven 中的单元测试将按其名称选择,该名称应遵循命名约定

<includes>
 <include>**/*Test*.java</include>
 <include>**/*Test.java</include>
 <include>**/*TestCase.java</include>
</includes>

此外,您需要将测试放在默认位置src/test/java/

您可以使用以下命令控制仅运行一个测试:

mvn -Dtest=MyTest test

运行集成测试是在集成测试阶段处理的maven-failsafe-plugin的工作。集成测试的命名约定是:

<includes>
 <include>**/*IT*.java</include>
 <include>**/*IT.java</include>
 <include>**/*ITCase.java</include>
</includes>

要运行集成测试,您需要为 maven-failsafe-plugin 添加配置部分。

于 2013-03-27T08:04:12.763 回答