I see this question already has an answer, and I have not tried NBehave. But, we are using MSpec (Machine.Specifications) for this fairly large Enterprise project and it is working quite well for us here. Very well worth mentioning.
Rob Conery did an EXCELLENT video on Learning BDD, where he uses MSpec, line by line:
http://blog.wekeroad.com/mvc-storefront/kona-3/
More about MSpec from Rob Conery, and why he uses it.
http://blog.wekeroad.com/blog/make-bdd-your-bff-2/ You might also want to check out his other posts tagged BDD as well.
Pros:
- Allows for quickly "stubbing" of your entire Story, Scenerios, Contexts, and Specifications - without any actual code. Let's you focus on the overall "Behaviors", which is the purpose of BDD!, without worry about code and making it compile.
- Produces an EXCELLENT HTML report, with "<- NOT IMPLEMENTED" next to stubbed specifications. I often hand this report to: The Client (CEO and CTO), The Testers, New Resources I bring onto the project, and anyone else that wants to know how the software works - without me having to show a line of code!
- TestDriven.NET runners are included with MSpec using the new tdnet linking (no setup!).
- The [Behaviors] attribute, along with its Behaves_like delegate type, makes copying existing specifications from one scenerio over to other another scenerio a snap.
Cons:
- Little to no documentation, even though not much is needed (watch the videos above). The author recently blogged for help on documenting.
- Still new, and just a side-project from the author (not his main gig). But, it is very active as of this post.
Hope that helps.