I am evaluating between specflow vs fitnesse with respect to BDD. I would like to find:

  1. Fitnesse allows the user to pass inputs through excel. Specflow provides any similar functionality?
  2. Fitnesse allows to setup the initial master data through tables to use across all tests. How Specflow supports this usecase?

1 Answer 1


Specflow and Fitnesse approach the process of testing in two different ways. The process of passing different inputs into your tests is very much a way of exploring the functionality of what the system can do. BDD however is all about defining scenarios that define exactly what the system should do.

As a result, I would suggest the execution pattern for these processes differs. FitNesse doesn't seem to support automated executiuon of the tests, you have to manually click the test button. SpecFlow tests are usually run following every build as a verification that the system is correctly adhering to its scenarios.

I get the feeling that you are used to FitNesse and your questions really feel like you are trying to work out how to get SpecFlow to work like FitNesse. Instead of that, I'd suggest that you will learn a lot more if you try it out and follow some of the initial examples through before you worry about the details.

And finally,

-1. With any line from a SpecFlow scenario, it is bound to a line of code, so

  When I want to multiply 3 x 2
  When I want to multiply 10 x 5

could both be bound to

[When("I want to multiply (\d+) x (\d+)")]
public void WhenIwantToMultiply(int x, int y)

-2. As you can imagine from the the above typing things long hand leads to patterns that could easily be representated tabularly, and SpecFlow uses Outlines and examples to handle this

Scenario Outline: eating
  Given there are <start> cucumbers
  When I eat <eat> cucumbers
  Then I should have <left> cucumbers

    | start | eat | left |
    |  12   |  5  |  7   |
    |  20   |  5  |  15  |

This example stolen from https://github.com/cucumber/cucumber/wiki/Scenario-Outlines where there is far more detail

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.