我有许多柑橘测试,并且一切正常。但是现在我需要包括一个简单的单元测试,因此我添加了一个非常简单的TestNG测试类,并期望该测试与其他Citrus-Tests一起执行。
当我手动执行测试时
mvn clean test -Dtest=AppConfigParserTest
它可以工作,但不包括运行我所有的CitrusTests的全局测试套件。我不知道如何确保它默认执行。
我在src / test / java和其他测试中创建了测试类,就像这样:
public class AppConfigParserTest {
@Test
public void testAppConfigParser() throws AppException, IOException {
....
....
}
}
也许我错过了文档中的那一部分,希望有人能提供帮助。
谢谢,
克里斯
答案 0 :(得分:0)
在不知道您的设置的情况下很难弄清为什么测试无法正常工作,但是以下几点可以帮助您弄清楚。
Citrus测试是集成测试,通常使用maven-failsafe-plugin
运行,该命名期望使用 MyPerfectTestIT 的命名约定(末尾使用字母 IT )。
由于您正在使用Maven,因此这里有一个示例:
<build>
<plugins>
<!-- disable running unit tests -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<!-- setup running integration tests -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<id>integration-tests</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
我敢打赌,如果您正确配置了Citrus测试,则单元测试将永远不会与集成测试套件一起运行,因为它们是两种不同类型的测试,并且将由两个不同的maven插件执行。单元测试应该在集成测试之前单独运行。
检查maven-surefire-plugin
的配置方式。