web-dev-qa-db-ja.com

キュウリの特定のシナリオを無視する方法は?

  1. キュウリを使用してシナリオをフィードし、言語としてJavaを使用しています。
  2. 自動化テストの実行中に特定のシナリオを無視する必要があります。
  3. 以下の@ignore構文で試しましたが、まったく機能しません。
  4. 特定のシナリオをスキップするのではなく、機能ファイルにフィードがあるすべてのテストシナリオを実行し続けます。

機能ファイル

@ActivateSegment
Feature: Test for Activate segment

  Scenario: Login
    Given I navigate to M
    And I enter user name 
    And I enter password 
    And I login to MM

  Scenario: Open grid
    Given I choose menu
    And I choose Segments menu

  Scenario: Open segment creation page
    Given I click on New button
    And I click on Segment button
20
selvi

タグ~@tag_nameを使用

特定のタグを持つシナリオを除外するには

cucumber --tags ~@tag_name

~シンボルを使用しました。


ここで注意すべきことの1つは、@ wipタグ付きのシナリオに合格すると、Cucumberが1のステータスで終了することです(合格後には進行中ではないことを思い出させてください)。

更新1

サンプルシナリオ

@billing
Feature: Verify billing

  @important
  Scenario: Missing product description

  Scenario: Several products

ランニングタグ

cucumber --tags @billing            # Runs both scenarios
cucumber --tags @important          # Runs the first scenario
cucumber --tags ~@important         # Runs the second scenario (Scenarios without @important)

公式ドキュメント: https://github.com/cucumber/cucumber/wiki/Tags

21
Aravin

Cucumber.io によると、タグ式を定義できる2つのスタイルがあります。特定の場合、@ ignoreでマークされたステップまたは機能を除外するには、これら2つのスタイルは次のように変換されます。

  • 古いスタイルcucumber --tags ~@ignore
  • 新しいスタイルcucumber --tags "not @ignore"

驚いたことに、Node.js v6.9.2で実行されている同じcucumber-js v1.3.1を使用すると、Windowsバージョンは新しいスタイルのみを受け入れ、Linuxバージョンは古いスタイルのみを受け入れました。設定によっては、両方を試して、どちらかで成功するかどうかを確認することもできます。

14
M. F.

*。特徴

@skip_scenario
Scenario: Hey i am a scenario
  Given blah blah
  And blah blah blah

CucumberHooks.Java

package CucumberHooks;
import cucumber.api.Scenario;
import cucumber.api.Java.Before;

public class CucumberHooks {
    @Before("@skip_scenario")
    public void skip_scenario(Scenario scenario){
        System.out.println("SKIP SCENARIO: " + scenario.getName());
        Assume.assumeTrue(false);
    }
}
12
Ran Galili
@ActivateSegment
Feature: Test for Activate segment

  Scenario: Login
    Given I navigate to M
    And I enter user name 
    And I enter password 
    And I login to MM

  Scenario: Open grid
    Given I choose menu
    And I choose Segments menu

   @avoid
  Scenario: Open segment creation page
    Given I click on New button
    And I click on Segment button

キュウリのオプション

ランナークラスでは、以下に示すように、実行したくないタグを使用します。tags = {"〜@ avoid"}

3
RamanaMuttana

特別なタグ@wipは既にネイティブサポートされており、他のコードを追加せずに使用できます。

関連するコマンドラインスイッチもあります。

-w, --wip Fail if there are any passing scenarios.

3
Pysis

JUnit runner classおよび https://cucumber.io/docs/cucumber/api/#ignoring-a-subset-of-scenarios を参照

独自の無視タグを作成できます

import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import org.junit.runner.RunWith;

@RunWith(Cucumber.class)
@CucumberOptions(tags = "not @ignore")
public class RunCucumberTest {
}

次に、次のようにシナリオにタグを付けます。

  @ignore
  Scenario: Check if all the 3 categories of cats are displayed

    Given I open the Cats App

    When I view the home screen

    Then I should see all three cats categories displayed

2
Code Rocker

コマンドラインから、次のように書くことができます

mvn test -DCucumber.options = "-tags '@login and not @grid'"

二重引用符( "")を外側に、単一引用符( ')を内側に入れる

1
user965884