3

在我的项目中,我们使用 specflow、nUnit 和 Watin 编写了 BDD 测试。我使用 resharper 从 Visual Studio 运行这些测试。现在我想向非技术人员公开这些功能和场景,并希望他们运行这些测试。

像我想在浏览器中列出所有测试,用户应该能够通过单击它们来运行这些测试。这可以实现吗?有没有插件?

目前我们使用 Team Foundation Server 作为我们的构建服务器。

4

4 回答 4

4

JetBrains的持续集成服务器TeamCity将其作为基于 Web 的功能提供。它甚至提供统计数据和测试输出结果。

它支持开箱即用的 nUnit。 某些配置支持SpecFlowWatin 。

在此处输入图像描述

于 2013-01-17T10:40:38.150 回答
3

您将遇到的最大问题是纯文本功能文件会被 SpecFlow Visual Studio 插件自动转换为 xxx.feature.cs 文件。所以你的过程是这样的,

  • 修改 xxxx.feature 文件
  • 想办法让 SpecFlow 插件生成 xxx.feature.cs
  • 编译
  • 使用 NUnit/Xunit 运行测试(按照配置)
  • 收集并提交测试成功报告

对我来说,这是一个有名字的过程,我称之为开发。

然而,BDD 是一个不同的过程,它完全是为了设计规范而与业务部门进行协作和沟通。一开始没有工具,但这个过程仍然有效。

我的一些同事已经在各种实际项目中使用 BDD 技术,并且发现这些技术非常成功。JBehave 故事运行器——验证验收标准的部分——正在积极开发中。

Dan North - 介绍 BDD 2006

不要只关注工具,否则您将错过该过程的重要部分。通过与您的 BA 共同定义新规范,您将获得很多好处。

PS 另一种考虑这一点的方法是规范和代码应该始终保持一致。仅仅通过定义一个新示例,我们不会神奇地向前移动代码以满足该示例。相反,最常见的做法是开发代码以满足新示例,然后将新规范和代码作为单个更改集签入。

于 2013-01-17T16:48:29.843 回答
3

您可以使用 Pickles 项目从源代码控制中的 Gherkin 规范生成对利益相关者友好的文档(包括 HTML)。

没有从 HTML 运行测试的工具。它是开源的,因此也许您可以通过这种方式对其进行扩展……但是,我个人认为让非技术用户实际执行规范没有价值。我会让您的持续集成服务器运行 SpecFlow 测试并定期生成步骤定义报告。然后,非技术用户可以浏览这些报告以查看当前项目状态。

于 2013-01-17T12:31:09.973 回答
2

要让非技术人员访问您的功能文件,您可以使用http://www.speclog.net/

规范日志将允许非技术人员编辑和创建新功能,并将自动将它们与 TFS 同步。

不幸的是,它不是免费的,您无法从该工具运行规范。

于 2013-01-17T13:08:35.280 回答