我现在练习 TDD 一段时间了,我想提高我的技能并开始做 ATDD, 我读过有关 ruby 和 java 框架的内容,但没有听说太多有关 .NET 的内容
.NET 中用于编写验收测试的维护最频繁的最新框架是什么?
编辑:阅读更多内容后,我想指出,我正在将网站和 Web 应用程序的验收测试联系起来,任何可能也必须考虑 GUI 测试。
最佳答案
我们刚刚开始使用 FitNesse ,到目前为止我对这个决定很满意。非常简短的概述:
- 您在 Wiki 中编写测试。
- 您编写了一个“测试装置”模块(可以是 C# 程序集),其中 提供 Wiki 中的“测试”和 SUT 之间的桥梁 (被测系统)。
- 当您运行测试时,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/