.NET 中用于编写验收测试的最新维护最多的框架是啥? [关闭]

Posted

技术标签:

【中文标题】.NET 中用于编写验收测试的最新维护最多的框架是啥? [关闭]【英文标题】:What is the most maintained newest framework in .NET for writing acceptance tests? [closed].NET 中用于编写验收测试的最新维护最多的框架是什么? [关闭] 【发布时间】:2011-11-25 14:50:45 【问题描述】:

我现在正在练习 TDD 一段时间,我想提高我的技能并开始做 ATDD, 我阅读了有关 ruby​​ 和 java 的框架,但对 .NET 了解不多

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

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

【问题讨论】:

【参考方案1】:

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

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

测试夹具代码的公共接口实际上是您在 Wiki 中编写测试所使用的语言。我不确定我是否解释得很好,但是网络上有很多资源和视频。我推荐 FitNesse 的作者 Bob Martin 的this one。

我选择 FitNesse 的原因有很多:

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

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

【讨论】:

FitNess 如何与 .NET 相匹配 我知道它是 Java 框架 适用于 .NET。 Fitnesse 框架作为 Java 应用程序运行,但通过 FitSharp 插件可以与 .NET 测试夹具代码一起使用。见fitnesse.org/FitNesse.DotNet【参考方案2】:

mSpec(机器规格)是一个非常流行的TDD/BDD框架。

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

【讨论】:

【参考方案3】:

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

http://www.ranorex.com/

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

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

ATDD 的好工具,我们用了一段时间,很满意。

【讨论】:

以上是关于.NET 中用于编写验收测试的最新维护最多的框架是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

寻找基于 C# 或 .Net 的验收测试框架 - Aqua 或 Robot 的替代品

可读和可维护的验收测试框架

程序员使用啥技术来编写可维护的集成/功能/验收测试?

Sql 或 Reports 的验收测试

自动化测试框架对比

如何编写基于验收的测试(从代码的角度来看)