C# 方法供测试人员编写specflow场景并执行它们

C# 方法供测试人员编写specflow场景并执行它们,c#,nunit,specflow,C#,Nunit,Specflow,测试人员是否可以在文本编辑器中编写SpecFlow功能文件,然后在不使用visualstudio的情况下执行它们 我已经从Java和JBehave的世界转到了C#和SpecFlow的世界。 使用Java和JBehave,测试人员将以纯文本文件编写场景,并提供一个用户界面,允许他们执行测试并查看格式良好的结果。我希望能够为C#和SpecFlow做类似的事情 这是我对如何工作的初步想法: 向测试人员提供Specflow、NUnit和完整的测试线束项目代码(yuk!) 为测试人员编写一个用户界面,在这

测试人员是否可以在文本编辑器中编写SpecFlow功能文件,然后在不使用visualstudio的情况下执行它们

我已经从Java和JBehave的世界转到了C#和SpecFlow的世界。 使用Java和JBehave,测试人员将以纯文本文件编写场景,并提供一个用户界面,允许他们执行测试并查看格式良好的结果。我希望能够为C#和SpecFlow做类似的事情

这是我对如何工作的初步想法:

向测试人员提供Specflow、NUnit和完整的测试线束项目代码(yuk!)

为测试人员编写一个用户界面,在这里他们可以选择纯文本文件。“生成测试”按钮将执行“specflow.exe generateall”命令,“查看结果”按钮将执行“specflow.exe nunitexecutionreport”命令

他们必须使用NUnit控制台来执行测试


有更好的解决办法吗?

你错过了一步。您可以使用VS完成此操作,但还需要使用msbuild。所以整个过程是

  • Person(!)编辑纯文本
  • specflow.exe generateAll
    将纯文本转换为.cs文件
  • msbuild yourSolution.sln
    将.cs转换为.exe/.dll
  • nunit.console.exe
    将测试.exe/.dll
  • specflow.exe nunitExecutionReport
    将为您生成一份漂亮的报告
  • 这不像你说的那么理想。当其中一个测试人员试图执行超出您已经为其提供了
    [Binding]
    的非常有限的语句集的某项操作时,该操作也将失败(处于挂起状态)

    老实说,这不是SpecFlow的设计目的。虽然让测试人员参与规范编写过程是一个很好的实践,但通常期望生成的场景不是动态的,而是成为应用程序正确执行的已知环境库的一部分

    该库也不希望是详尽的,而是包含足够的示例来涵盖逻辑决策点。例如,英国印花税的税率在25万英镑和50万英镑之间逐步变化,但您不会编写25000000测试来覆盖该范围内的每一个价格,而两个测试(250000.00和499999.99)将覆盖该范围

    更新:
    您最好使用或之类的工具,谢谢。我确实错过了msbuild部分。这与Selenium一起用于应用程序测试,而不是BDD,因此我们必须能够选择要执行的测试。我与测试人员密切合作,添加所需的任何语句。使用可能更合适的替代方案进行更新。