Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以通过编程方式运行specflow测试?_C#_.net_Tfs_Bdd_Specflow - Fatal编程技术网

C# 是否可以通过编程方式运行specflow测试?

C# 是否可以通过编程方式运行specflow测试?,c#,.net,tfs,bdd,specflow,C#,.net,Tfs,Bdd,Specflow,在我的项目中,我使用specflow、nUnit和Watin编写了BDD测试。我使用resharper从VisualStudio运行这些测试。现在我想向非技术人员公开这些特性和场景,并让他们运行这些测试 类似于我想在浏览器中列出所有测试,用户应该能够通过单击它们来运行这些测试。这能实现吗?有艾丁吗 目前我们使用Team Foundation Server作为我们的构建服务器。,JETSeam提供的服务器提供了一个基于Web的功能。它甚至提供了统计数据和测试输出结果 它支持nUnit开箱即用。 一

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

类似于我想在浏览器中列出所有测试,用户应该能够通过单击它们来运行这些测试。这能实现吗?有艾丁吗

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

,JETSeam提供的服务器提供了一个基于Web的功能。它甚至提供了统计数据和测试输出结果

它支持nUnit开箱即用。 一些配置支持和


您可以使用Pickles项目从源代码管理中的小黄瓜规范生成利益相关者友好的文档(包括HTML)


没有从HTML运行测试的工具。它是开源的,所以也许你可以这样扩展它。。。然而,我个人并不认为让非技术用户实际执行规范有什么价值。我会让您的持续集成服务器运行SpecFlow测试,并定期生成一个报告。然后,非技术用户可以浏览到这些报告以查看当前项目状态。

将功能文件的访问权授予您可以使用的非技术人员

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


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

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

  • 修改xxxx.1功能文件
  • 找到一些方法让SpecFlow插件生成xxx.feature.cs
  • 编撰
  • 使用NUnit/Xunit(按配置)运行测试
  • 收集并提交测试成功报告
对我来说,这是一个有名字的过程,我称之为开发

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

我的许多同事已经在各种实际项目中使用了BDD技术,并发现这些技术非常成功。JBehave story runner(验证验收标准的部分)正在积极开发中

不要只专注于工具,否则您将错过流程的关键部分。通过与BA合作,共同定义新规范,您将受益匪浅


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

感谢Aphelion的回复。现在我们使用TFS构建作为构建服务器。整合TeamCity可能需要更多的工作。除此之外,还有其他方法可以让我在Web应用程序或Windows应用程序中公开我所有的测试吗?@ Suhumar,不幸的是我没有Team Foundation Server的经验。我完全同意。这就是为什么我认为CI服务器是最好的解决方案。它允许查看结果并生成报告。您可以查看fitnesse.org:“一个允许非技术用户指定和运行软件系统验收测试的简单工具。”但它与SpecFlow无关。