我想运行功能文件(不是场景)以并行运行。
第一个特点:
Feature: Refund item for Jeff
Scenario: 01 Collect Details
Given Collect Jeff details
And Collect receipts for purchase
Scenario: 02 Refund
When Jeff returns the microwave
Then Jeff should be refunded $100
第二个特点:
Feature: Refund item for Dave
Scenario: 01 Collect Details
Given Collect Dave details
And Collect receipts for purchase
Scenario: 02 Refund
When Dave returns the microwave
Then Dave should be refunded $100
我正在使用cucumberjava测试。我能够并行运行场景。但是我真的想在并行中运行功能。我已经实现了下面的并行场景代码。
public class RunCucumberTest extends AbstractTestNGCucumberTests {
@Override
@DataProvider(parallel = true)
public Object[][] scenarios() {
return super.scenarios();
}
}
您无法通过TestNg
实现这一点。但是。您可以使用JUnit4
实现这一点。基本上这就是根据Cucumber规范对JUnit 4
进行并行化的方式。
Cucumber可以使用JUnit和Maven测试执行插件并行执行。在JUnit中,功能文件是并行运行的,而不是场景,这意味着功能文件中的所有场景将由同一个线程执行。您可以使用Maven Surefire或Failsaf插件来执行运行器。
你不能。场景旨在相互独立执行。根据您正在测试的内容,您可以将功能文件中的所有场景转换为单个场景。
但是,您应该考虑重写您的场景,使它们不依赖于以前场景中的操作。
通常这意味着编写以下场景:
Scenario: Do a thing
Given a thing
When a thing is used
Then something happens
Scenario: Do another thing next
Given a thing that was used
When a thing is used again
Then something else happens
要实现使用的东西
,您可以重用您已经编写的方法来实现第一个场景的步骤。