测试人员是否可以在文本编辑器中编写SpecFlow功能文件,然后能够在不使用Visual Studio的情况下执行它们?
我已经从Java和JBehave的世界转移到了C#和SpecFlow的世界。 使用Java和JBehave,测试人员可以在纯文本文件中编写场景,并为用户提供了用户界面,以允许他们执行测试并查看格式良好的结果。我希望能够为C#和SpecFlow做类似的事情。
这是我最初想到的方法:
为测试人员提供Specflow,NUnit和完整的测试工具项目代码(yuk!)
为测试人员编写用户界面,他们可以在其中选择纯文本文件。 '生成测试'按钮将执行' specflow.exe generateall'命令和查看结果'按钮将执行' specflow.exe nunitexecutionreport'命令
他们必须使用NUnit控制台来执行测试。
有更好的解决方案吗?
答案 0 :(得分:1)
你错过了一步。您可以使用VS来实现,但您还需要使用msbuild。所以整个过程是
specflow.exe generateAll
会将纯文本转换为.cs文件msbuild yourSolution.sln
会将.cs转换为.exe / .dll nunit.console.exe
将测试.exe / .dll specflow.exe nunitExecutionReport
会为您生成一份精彩的报告。如你所说,这并不理想。一旦其中一个测试人员试图执行已经为[Binding]
提供的非常有限的语句集之外的事情,这也将失败(具有挂起状态)。 / p>
说实话,这不是SpecFlow的设计目标。虽然将测试人员纳入规范编写过程是非常好的做法,但通常期望所生成的场景不是动态的,而是成为应用程序正确执行的已知环境库的一部分。
这个库也不是详尽无遗的,而是包含足够的例子来涵盖逻辑决策点。 例如,英国印花税的费率会有不同的步骤,例如250,000英镑和50万英镑,但你不会写25,000,000个测试来涵盖可能在这个范围内的每一个价格,当两个(250,000.00和499,999.99)将覆盖它。
更新: 您最好使用FitNesse或Conccordion
之类的内容