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

时间:2014-07-29 12:13:24

标签: c# nunit specflow

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

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

这是我最初想到的方法:

为测试人员提供Specflow,NUnit和完整的测试工具项目代码(yuk!)

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

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

有更好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

你错过了一步。您可以使用VS来实现,但您还需要使用msbuild。所以整个过程是

  1. 人(!)编辑纯文本
  2. specflow.exe generateAll会将纯文本转换为.cs文件
  3. msbuild yourSolution.sln会将.cs转换为.exe / .dll
  4. nunit.console.exe将测试.exe / .dll
  5. specflow.exe nunitExecutionReport会为您生成一份精彩的报告。
  6. 如你所说,这并不理想。一旦其中一个测试人员试图执行已经为[Binding]提供的非常有限的语句集之外的事情,这也将失败(具有挂起状态)。 / p>

    说实话,这不是SpecFlow的设计目标。虽然将测试人员纳入规范编写过程是非常好的做法,但通常期望所生成的场景不是动态的,而是成为应用程序正确执行的已知环境库的一部分。

    这个库也不是详尽无遗的,而是包含足够的例子来涵盖逻辑决策点。 例如,英国印花税的费率会有不同的步骤,例如250,000英镑和50万英镑,但你不会写25,000,000个测试来涵盖可能在这个范围内的每一个价格,当两个(250,000.00和499,999.99)将覆盖它。

    更新: 您最好使用FitNesseConccordion

    之类的内容