Domanda

I have a feature file with 3 scenarios for doing some BDD tests on a C# project. Each scenario is demonstrated using a large examples table (about 40 rows). Example tables are the same. Here how the feature file looks like:

Scenario Outline: scenario1
 <stmt set 1>
 Examples:
 <LargeTable>

Scenario Outline: scenario2
 <stmt set 2>
 Examples:
 <LargeTable>

Scenario Outline: scenario3
 <stmt set 3>
 Examples:
 <LargeTable>

I do not like repeating the same examples for each scenario. Is there a way to write the example table once and make scenarios reference it, i.e. something like this:

Scenario Outline: scenario1
 <stmt set 1>
 Examples:
 <ref LargeTable>

Scenario Outline: scenario2
 <stmt set 2>
 Examples:
 <ref LargeTable>

Scenario Outline: scenario3
 <stmt set 3>
 Examples:
 <ref LargeTable>

LargeTable:
<bla>

Is it possible to do so?

È stato utile?

Soluzione 2

You can use SpecFlow's "background" keyword.

Background: 
    Given my table looks like
    | .... | .... |

Put this before your scenarios. You can then include the table as you would for any other Given, and it will be available for every scenario in the file.

Altri suggerimenti

No, SpecFlow does not support this.
See http://dannorth.net/2008/06/30/let-your-examples-flow/ for some clues as to why the feature is not implemented in BDD frameworks.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top