9
I repeatedly hear BDD enthusiasts advocate using both SpecFlow and MSpec in the same project.
Apparently SpecFlow is more suitable for outside-in/UI tests. (For example, web tests which simulate mouse-clicks, etc, using WatiN or something similar.)
Apparently MSpec is more suitable for unit-tests.
Now my question is - why use two frameworks which are incredibly similar and do virtually the same thing?
Why not instead:
- Choose one BDD framework and stick with it. Use it for outside-in/UI tests, as intended,
- Write your unit-tests normally, with an established unit-testing framework (such as NUnit, MSTest, etc)?
I thought the reason we adopt BDD is so we can test behaviours, which are driven externally, by means of integration tests.
I don't see how/why this applies to unit tests.