首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何并行运行黄瓜特征文件

如何并行运行黄瓜特征文件
EN

Stack Overflow用户
提问于 2022-07-25 17:44:20
回答 2查看 206关注 0票数 0

我希望运行功能文件(而不是场景)并行运行。

第一个特点:

代码语言:javascript
复制
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

第二个特点:

代码语言:javascript
复制
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

我用的是Cucumber-java和testng。我能够并行运行这些场景。但我真的很想并行运行这个特性。我已经为并行场景实现了下面的代码。

代码语言:javascript
复制
public class RunCucumberTest extends AbstractTestNGCucumberTests {

    @Override
    @DataProvider(parallel = true)
    public Object[][] scenarios() {
        return super.scenarios();
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-02 08:02:50

你不能用TestNg实现这一点。但是.你可以用JUnit4实现这一点。基本上,根据JUnit 4黄瓜规格,这就是并行化的工作方式。

可以使用JUnit和Maven测试执行插件并行执行黄瓜。在JUnit中特性文件是并行运行的,而不是场景,这意味着一个特性文件中的所有场景都将由同一个线程执行。您可以使用Maven Surefire或故障安全插件来执行运行程序。

票数 0
EN

Stack Overflow用户

发布于 2022-07-27 00:42:23

你做不到。方案的目的是彼此独立执行。根据您正在测试的内容,您可以将一个功能文件中的所有场景转换为一个单独的场景。

但是,您应该考虑重写您的场景,使它们不依赖于以前场景中的操作。

这通常意味着编写以下场景:

代码语言:javascript
复制
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

要实现a thing that was used,可以重用已经编写的方法来实现第一个场景的步骤。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73113323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档