【问题标题】:Functional (browser) tests in .NET as first-class citizens.NET 中的功能(浏览器)测试作为一等公民
【发布时间】:2015-09-18 18:08:06
【问题描述】:

我喜欢 Grails 的一个原因是功能测试是项目的一等公民。 grails test-app 知道如何启动测试服务器和运行功能测试,并鼓励您将功能测试与单元测试和集成测试同等对待。这有助于推动整个团队对所有形式的测试负责,而不是将基于浏览器的测试隔离在各自独立的孤岛中。

我将如何设置一个 .NET 项目来完成类似的事情?我正在寻找的特定属性

  • 浏览器测试是同一个 repo 的一部分
  • 浏览器测试作为 CI 构建(Jenkins、Bamboo 等)的一部分使用无头浏览器运行
  • 表达异步等待条件的闭包(例如,waitFor { condition }
  • jQuery 样式选择器
  • 开发人员可以像运行单元测试一样轻松地从 Visual Studio 运行浏览器测试
  • 理想情况下,我可以合并(添加)浏览器测试和单元测试对服务器端类的覆盖,这样我就可以证明我不需要为端到端测试中涵盖的控制器编写单元测试。我仍然需要单元测试,但“断言控制器将输入传递给模拟服务/DAO”的快乐路径可能会消失。

【问题讨论】:

    标签: .net functional-testing


    【解决方案1】:

    您可以使用 Selenium Web 驱动程序编写单元测试之类的测试,然后从 Visual Studio 或任何其他单元测试框架运行它们。

    在这里,您有一个很好的presentation,关于使用 Selenium 正确完成的自动化 UI 测试,还有一些 links,您可以在其中找到演示文稿中解释的工具(WebDriver、BDDfy、Seleno、BDD 救援的 W3C 工作草案)。

    如果视图中没有业务逻辑(这是错误的),我更喜欢Subcutaneous Test 而不是 UI 测试。您可以使用Mvc Contrib 轻松做到这一点。

    【讨论】:

      猜你喜欢
      • 2011-07-07
      • 1970-01-01
      • 2017-12-15
      • 2015-08-21
      • 1970-01-01
      • 2015-01-30
      • 1970-01-01
      • 2014-08-03
      • 2010-09-12
      相关资源
      最近更新 更多