我正在使用与黄瓜集成的柑橘框架进行集成测试(具有不同的黄瓜功能文件)。
我在柑橘中配置了不同的 HTTP 休息服务。
您能否建议我如何并行执行集成测试。
集成测试正在使用这些柑橘服务。我需要使用一些(上下文)变量来验证 Cucumber 功能文件中定义的所有场景的一些测试结果。
或者您能否建议我柑橘框架是否支持多线程,以便多个黄瓜场景可以同时调用 HTTP 服务。
我正在使用与黄瓜集成的柑橘框架进行集成测试(具有不同的黄瓜功能文件)。
我在柑橘中配置了不同的 HTTP 休息服务。
您能否建议我如何并行执行集成测试。
集成测试正在使用这些柑橘服务。我需要使用一些(上下文)变量来验证 Cucumber 功能文件中定义的所有场景的一些测试结果。
或者您能否建议我柑橘框架是否支持多线程,以便多个黄瓜场景可以同时调用 HTTP 服务。
Citrus 测试由 TestNG 或 JUnit 运行,因此您需要使用这些框架的并行执行技术。
我正在使用 Maven 的故障安全插件(使用 TestNG)执行我的集成测试。您可以使用如下配置文件将其配置为并行运行测试(另请参阅maven-failsafe-plugin 文档)。
<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 使用选择器。
试一试,看看并行测试是否适合您。