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

时间:2011-11-25 14:50:45

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

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

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

编辑:在阅读更多内容后,我想要注意的是,我正在将网站和网络应用的验收测试联系起来,任何可能都需要考虑进行GUI测试。

3 个答案:

答案 0 :(得分:1)

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

  1. 您在Wiki中编写测试。
  2. 你写了一个'测试夹具'模块(可以是一个c#程序集) 提供了Wiki和SUT中“测试”之间的桥梁 (被测系统)。
  3. 当您运行测试时,FitNesse引擎使用反射将维基测试转换为对测试夹具组件的调用,而测试夹具组件又调用SUT。返回值会传递回Wiki,因此您可以“断言”它们。
  4. 测试夹具代码的公共接口实际上是您用于在Wiki中编写测试的语言。我不确定我是否对此做了很好的解释,但网上有很多资源和视频。我推荐来自FitNesse的作者Bob Martin的this one

    我选择FitNesse有很多原因:

    • 完善的框架
    • 使用FitSharp插件使用.NET:http://fitnesse.org/FitNesse.DotNet
    • 因为Wiki中的测试是用你在灯具代码中定义的语言编写的,所以它们是可读的
    • 可以通过命令行调用测试,我们希望将其用于持续集成。
    • 鲁棒1:如果SUT的接口发生变化,您只需更改测试夹具代码,而不是测试
    • 强大的2:我们没有在易变的UI级别进行测试。

    需要一点时间来习惯,但我发现它比我们目前通过UI测试的概念更可靠。我们目前在家庭酿造应用程序中执行此操作,该应用程序通过回放预先录制的UI操作和比较屏幕截图来工作。当测试是红色时很少,因为SUT实际上是破碎的。通常我们有时间问题,UI控件没有立即响应,所以我们必须建立UI操作之间的延迟,这意味着它需要整夜运行全套测试。

答案 1 :(得分:0)

mSpec(机器规格)是一个非常受欢迎的TDD / BDD框架。

nUnit是一个单元测试框架(也可以用于验收测试)。

答案 2 :(得分:-1)

请将Ranorex视为一种相当新的工具。

http://www.ranorex.com/

他们在提供完整的工具集方面做得很好,包括单元测试api,自动化引擎和测试记录器。 简而言之 - 您在C#中编写测试或使用录音机“录制”它们,录音机将它们写为C#代码。

然后你“回复”它们,运行你的C#代码。您可以根据需要创建任意数量的断言,自动化API允许您自动化屏幕上可见的任何内容。

ATDD的好工具,我们使用它已经有一段时间了,我们很满意。