.net - .NET 中用于编写验收测试的维护最多的最新框架是什么?

标签 .net unit-testing selenium tdd acceptance-testing

我现在练习 TDD 一段时间了,我想提高我的技能并开始做 ATDD, 我读过有关 ruby​​ 和 java 框架的内容,但没有听说太多有关 .NET 的内容

.NET 中用于编写验收测试的维护最频繁的最新框架是什么?

编辑:阅读更多内容后,我想指出,我正在将网站和 Web 应用程序的验收测试联系起来,任何可能也必须考虑 GUI 测试。

最佳答案

我们刚刚开始使用 FitNesse ,到目前为止我对这个决定很满意。非常简短的概述:

  1. 您在 Wiki 中编写测试。
  2. 您编写了一个“测试装置”模块(可以是 C# 程序集),其中 提供 Wiki 中的“测试”和 SUT 之间的桥梁 (被测系统)。
  3. 当您运行测试时,FitNesse 引擎使用反射将 wiki 测试转换为对测试夹具程序集的调用,该程序集又调用 SUT。返回值会传回 Wiki,以便您可以“断言”它们。

测试装置代码的公共(public)接口(interface)实际上是您在 Wiki 中用于编写测试的语言。我不确定我是否解释得很好,但是网络上有大量的资源和视频。我推荐this one来自 FitNesse 的作者鲍勃·马丁 (Bob Martin)。

我选择 FitNesse 的原因有很多:

  • 完善的框架
  • 使用 FitSharp 插件与 .NET 配合使用:http://fitnesse.org/FitNesse.DotNet
  • 因为 Wiki 中的测试是用您在装置代码中定义的语言编写的,所以它们是可读的
  • 测试可以通过命令行调用,这是我们想要持续集成的。
  • 稳健1:如果SUT的接口(interface)发生变化,您只需更改测试夹具代码,而不需要更改测试
  • 稳健 2:我们不在不稳定的 UI 级别进行测试。

这需要一点时间来适应,但我发现它比我们当前通过 UI 进行测试的概念可靠得多。目前,我们在自制应用程序中执行此操作,该应用程序通过回放预先录制的 UI 操作并比较屏幕截图来工作。当测试为红色时,这种情况很少发生,因为 SUT 实际上已损坏。通常,我们会遇到 UI 控件无法立即使用react的计时问题,因此我们必须在 UI 操作之间建立延迟,这意味着需要整夜才能运行全套测试。

关于.net - .NET 中用于编写验收测试的维护最多的最新框架是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8270750/

相关文章:

javascript - Selenium 事件和等待

python - 如何在 24 小时内从动态加载的网页中抓取超过 50,000 个数据点?

c# - 我应该在带有 Unity 容器的控制台应用程序中的何处注册解析我的类型?

android - 确定正在调用哪个测试设置()?

javascript - Nock - 如何模拟二进制响应

javascript - 单元测试的触发事件

java - 为什么这个网站不能定位元素?

.net - Microsoft.Build.Tasks.Core.dll 位于哪里?

c# - 在多维数组中查找值并返回所有项目 c#

.net - 将内存中的数据从 PHP 传递到 .Net 程序