在我的项目中,我们使用specflow,nUnit和Watin编写了BDD测试。我使用resharper从visual studio运行这些测试。现在我想向非技术人员公开这些功能和场景,我希望他们运行这些测试。
我希望在浏览器中列出所有测试,用户应该能够通过点击它们来运行这些测试。这可以实现吗?有没有插件?
目前我们使用Team Foundation Server作为构建服务器。
答案 0 :(得分:4)
TeamCity,JetBrains的Continuous integration服务器将其作为基于Web的功能提供。它甚至提供统计和测试输出结果。
它支持nUnit开箱即用。 一些配置支持SpecFlow和Watin。
答案 1 :(得分:3)
您可以使用Pickles项目从源代码管理中的Gherkin规范中生成利益相关者友好的文档(包括HTML)。
没有从HTML运行测试的工具。它是开源的,所以也许你可以用这种方式扩展它......但是,我个人并不认为让非技术用户真正执行规范的价值。我希望您的持续集成服务器运行SpecFlow测试并定期生成step definition report。然后,非技术用户可以浏览这些报告以查看当前项目状态。
答案 2 :(得分:2)
要向非技术人员授予您的功能文件的访问权限,您可以使用http://www.speclog.net/
Spec log将允许非技术人员编辑和创建新功能,并自动将它们与TFS同步。
不幸的是,它不是免费的,你无法运行该工具的规格。
答案 3 :(得分:2)
您将遇到的最大问题是纯文本功能文件会被SpecFlow Visual Studio插件自动转换为xxx.feature.cs文件。所以你的过程就是这个,
对我来说这是一个有名字的过程,我称之为开发。
然而,BDD是一个不同的过程,它是关于与业务的协作和通信,以便设计规范。一开始没有工具,但这个过程仍然有效。我的一些同事一直在各种现实项目中使用BDD技术,并且发现这些技术非常成功。 JBehave故事转轮 - 验证验收标准的部分 - 正在积极开发中。
Dan North - Introducing BDD 2006
不要单独使用这些工具,否则你会错过这个过程的重要部分。通过与BA一起合作定义新规范,您将获得如此多的好处。
P.S。另一种考虑这一点的方法是规范和代码应始终保持一致。仅仅通过定义一个新的例子,我们不会神奇地移动代码以满足该示例。相反,最常见的做法是开发代码以满足新示例,然后将新规范和代码作为单个更改集进行检查。