Citrusframework - 包括标准 TestNG 测试 - 类

Citrusframework - Include standard TestNG Test-Classes

我进行了多项柑橘测试,一切正常。但是现在我需要包含一个简单的单元测试,因此我添加了一个非常简单的 TestNG Test-Class 并期望这个测试与其他 Citrus-Tests 一起执行。

当我手动执行测试时
mvn clean test -Dtest=AppConfigParserTest
它有效,但它不包括全局测试套件 运行 我所有的 CitrusTests。我不知道如何确保它默认执行。

我在 src/test/java 中创建了测试-class 以及其他测试,就像这样:

public class AppConfigParserTest {

  @Test
  public void testAppConfigParser() throws AppException, IOException {
  ....
  ....
  }
}

也许我错过了文档中的那部分,希望有人能提供帮助。

谢谢,
克里斯

在不了解您的设置的情况下很难弄清楚为什么测试不起作用,但这里有一些要点可能会帮助您弄清楚。

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 是如何配置的。