3
votes

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?

2

2 Answers

2
votes

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.

1
votes

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.