使用与黄瓜集成的柑橘框架执行并行集成测试

时间:2017-07-11 13:50:31

标签: java cucumber integration-testing cucumber-java citrus-framework

我使用与黄瓜集成的柑橘框架进行整合测试(具有不同的Cucumber特征文件)。

我在柑橘中配置了不同的HTTP休息服务。

请您建议我如何并行执行集成测试。

集成测试正在使用那些柑橘服务。我需要使用一些(上下文)变量来验证Cucumber特征文件中定义的所有场景的一些测试结果。

或者您能否建议我柑橘框架是否支持多线程,以便多个黄瓜场景可以同时调用HTTP服务。

1 个答案:

答案 0 :(得分:0)

Citrus测试由TestNG或JUnit运行,因此您需要使用这些框架的并行执行技术。

我正在使用Maven的failsafe-plugin(使用TestNG)执行我的集成测试。您可以将其配置为使用如下所示的配置文件并行运行测试(另请参阅maven-failsafe-plugin documentation)。

<profiles>
    <profile>
        <id>parallel</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <configuration>
                        <parallel>methods</parallel>
                        <threadCount>10</threadCount>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

这适用于TestNG,但我不确定它是否适用于JUnit。

通常,并行HTTP请求不应该是Citrus的问题,因为它会在同一测试用例中自动关联HTTP发送和接收操作。但是,您需要注意,这对JMS消息不起作用,您需要在接收时手动设置相关ID,并在接收时使用选择器作为此相关ID。

尝试一下,看看并行测试是否适合你。