いくつかのSpecFlow機能(Gherkin構文を使用)があり、テストの実行を防ぐために一時的に機能を無効にしたいですか?
これを行うために機能をマークできる属性はありますか? Cucumberで動作するものがSpecFlowでも動作する可能性があると思います。
@ignoreタグで機能をマークできます:
@ignore @web
Scenario: Title should be matched
When I perform a simple search on 'Domain'
Then the book list should exactly contain book 'Domain Driven Design'
Specflowの最新バージョンでは、次のようにタグに理由を指定する必要があります。
@ignore("reason for ignoring")
編集:何らかの理由でスペースで壊れますが、これは機能します:
@ignore("reason")
Jbandiが示唆するように、@ ignoreタグを使用できます。
タグは次のものに適用できます。
NUnitをテストプロバイダーとして指定すると、生成されたコードの結果は、
[NUnit.Framework.IgnoreAttribute()]
メソッドまたはクラスに。
Feature: CheckSample
@ignored
Scenario Outline: check ABC #checkout.feature:2
Given I open the applciation
When I enter username as "<username>"
And I enter password as "<password>"
Then I enter title as "<title>"
Examples:
| username | password |
| dude | daad |
上記を機能ファイル「CheckSample.feature」と見なします
そして、以下はあなたのステップファイルです、それは単なる部分的なファイルです:
public class Sampletest {
@Given("^I open the applciation$")
public void i_open_the_applciation() throws Throwable {
// Write code here that turns the phrase above into concrete actions
//throw new PendingException();
}
以下はランナーファイルです。
@RunWith(Cucumber.class)
@CucumberOptions(
plugin = {"pretty", "html:target/reports",
"json:target/reports/cucumber-report.json"},
monochrome = true,
tags = {"~@ignored"}
)
public class junittestOne {
public static void main(String[] args) {
JUnitCore junit = new JUnitCore();
Result result = junit.run(junittestOne.class);
}
}
ここで重要なのは、機能ファイルの「@ignored」テキストは、「cuitmberOptions(タグ)」および「junittestone」クラスファイルに記載されていることです。また、プロジェクトで利用可能なキュウリ、ガーキン、Junitおよびその他のjarの両方に関連するすべてのjarファイルがあり、ステップ定義(クラス)にインポートしていることを確認してください。
「無視」されているため、テストの実行中にシナリオはスキップされます。