在我的项目中,我们使用 specflow、nUnit 和 Watin 编写了 BDD 测试。我使用 resharper 从 Visual Studio 运行这些测试。现在我想向非技术人员公开这些功能和场景,并希望他们运行这些测试。
像我想在浏览器中列出所有测试,用户应该能够通过单击它们来运行这些测试。这可以实现吗?有没有插件?
目前我们使用 Team Foundation Server 作为我们的构建服务器。
您将遇到的最大问题是纯文本功能文件会被 SpecFlow Visual Studio 插件自动转换为 xxx.feature.cs 文件。所以你的过程是这样的,
对我来说,这是一个有名字的过程,我称之为开发。
然而,BDD 是一个不同的过程,它完全是为了设计规范而与业务部门进行协作和沟通。一开始没有工具,但这个过程仍然有效。
我的一些同事已经在各种实际项目中使用 BDD 技术,并且发现这些技术非常成功。JBehave 故事运行器——验证验收标准的部分——正在积极开发中。
不要只关注工具,否则您将错过该过程的重要部分。通过与您的 BA 共同定义新规范,您将获得很多好处。
PS 另一种考虑这一点的方法是规范和代码应该始终保持一致。仅仅通过定义一个新示例,我们不会神奇地向前移动代码以满足该示例。相反,最常见的做法是开发代码以满足新示例,然后将新规范和代码作为单个更改集签入。
您可以使用 Pickles 项目从源代码控制中的 Gherkin 规范生成对利益相关者友好的文档(包括 HTML)。
没有从 HTML 运行测试的工具。它是开源的,因此也许您可以通过这种方式对其进行扩展……但是,我个人认为让非技术用户实际执行规范没有价值。我会让您的持续集成服务器运行 SpecFlow 测试并定期生成步骤定义报告。然后,非技术用户可以浏览这些报告以查看当前项目状态。
要让非技术人员访问您的功能文件,您可以使用http://www.speclog.net/
规范日志将允许非技术人员编辑和创建新功能,并将自动将它们与 TFS 同步。
不幸的是,它不是免费的,您无法从该工具运行规范。