copypastedeveloper / given

Given is a bdd library made with the intent of wrapping common testing frameworks easily.
10 stars 2 forks source link

NUnit TestCase support #1

Open DamianReeves opened 10 years ago

DamianReeves commented 10 years ago

The outputted text doesn't seem to properly support the [TestCase] attribute in NUnit.

copypastedeveloper commented 10 years ago

I've been trying to think of how to properly support this scenario for a while. I'd love to add test case support. The main thing has always been how to handle the execution of the context. i've also always been torn because in theory a bdd test probably encapsulates a scenario. i think changing the variables would fundamentally change the test case. it could be that you just implement a base, or you could potentially look into using the ContextProvider class, as it would allow you to reuse contexts across multiple test cases.

How would you ideally like to see this implemented?

DamianReeves commented 10 years ago

Somehow Example support would need to be added.

Off the top of my head.

Examples<string> with_examples = ()=>{
   return new []{
       "first.last@email.com",
       "namel@email.com",    
   }
};
copypastedeveloper commented 10 years ago

yeah, that'd be pretty difficult to implement, and i'm not sure of the value of it. my main thought with a bdd style test is, again, that the test should look like exactly one scenario. test cases like nunit has almost explicitly are running multiple scenarios through the same code. if i was to implement this it might be through some kind of class level attributing, where the entire class is augmented/changed in some way per attribute, but then, because i'm wrapping multiple frameworks you get into the problem with a general lack of feature parity. at any rate, this is probably a ways off. i'll chew on it a little more though.