使用BDD测试ASP.NET应用程序(集成、单元)

使用BDD测试ASP.NET应用程序(集成、单元),.net,capybara,jasmine,specflow,coypu,.net,Capybara,Jasmine,Specflow,Coypu,我想在我们的ASP.NET网站上做一些集成测试。我想运行以下测试: 在无头浏览器或selenium上进行集成测试,无需重写代码。希望它与Visual Studio 2012测试资源管理器集成 C#代码的单元测试 Javascript的单元测试 我喜欢Jasmine和SpecFlow的外观,但我想限制我必须学习的测试框架。我还发现,它看起来可能很有用,因为它是.NET的替代品 哪些框架可以覆盖这些需求?如果可能,尝试测试规范而不是集成测试-阅读“示例规范”(Specification by E

我想在我们的ASP.NET网站上做一些集成测试。我想运行以下测试:

  • 在无头浏览器或selenium上进行集成测试,无需重写代码。希望它与Visual Studio 2012测试资源管理器集成
  • C#代码的单元测试
  • Javascript的单元测试
我喜欢Jasmine和SpecFlow的外观,但我想限制我必须学习的测试框架。我还发现,它看起来可能很有用,因为它是.NET的替代品


哪些框架可以覆盖这些需求?

如果可能,尝试测试规范而不是集成测试-阅读“示例规范”(Specification by Example))。SpecFlow与硒结合在一起很好地解决了这一问题(Coypu看起来是一个很好的抽象概念,可以放在硒之上)

  • nUnit可以很好地进行单元测试C#-在业务逻辑层中放入尽可能多的逻辑,因此您不必依赖UI测试使用测试资源管理器VS2012的此插件可以工作-
  • QUnit/sinon.js-Javascript单元测试
  • jscover-Javascript单元测试代码覆盖率

Coypu看起来很酷谢谢-我不知道

关于您的第一个要点,Coypu是一个优秀的web驱动程序抽象,它可以轻松地在不同的web驱动程序之间切换。我一直在公司环境中使用它,效果非常好

将其配置为使用PhantomJS headless webkit浏览器也相当简单。请参阅链接了解如何执行此操作

另外,我发现一个C#库对于单元测试来说是非常宝贵的。其流畅的风格很好地补充了技术无关的BDD测试