我想在我们的 ASP.NET 网站上做一些集成测试。我想运行这些测试:
- 在无头浏览器或 selenium 上进行集成测试,无需重写代码。希望它与 Visual Studio 2012 测试资源管理器集成。
- C# 代码的单元测试。
- Javascript 的单元测试。
我喜欢 Jasmine 和 SpecFlow 的外观,但我想限制我必须学习的测试框架。我还发现Coypu,它看起来可能很有用,因为它是 Capybara 的 .NET 替代品。
哪些框架可以满足这些要求?
如果可能,尝试测试规范而不是集成测试 - 阅读“示例规范”(http://specificationbyexample.com/)。SpecFlow 可以与 Selenium 结合使用(Coypu 看起来像是放在 Selenium 之上的一个很好的抽象)。
Coypu 看起来很酷,谢谢 - 不知道!
关于您的第一个要点,Coypu 是一个出色的 Web 驱动程序抽象,可以轻松在不同的 Web 驱动程序之间切换。我一直在公司环境中使用它,效果很好。
将其配置为使用 PhantomJS 无头 webkit 浏览器也相当简单。请参阅此链接以了解如何执行此操作。
Fluent Assertions还有一个我发现对单元测试非常有用的 C# 库。其流畅的风格很好地补充了与技术无关的 BDD 测试。