SpecFlow会跳过场景,如果它之前的场景失败了断言

时间:2014-06-27 16:21:33

标签: .net selenium automation specflow specrun

我在我的功能文件中编写了一堆场景,其中包含了断言。如果第一个场景未通过断言,则Specflow将跳过其后的所有场景。我希望我的所有场景都能继续运行,即使它们在NUnit中失败也是如此。我使用SpecRun作为测试提供者,我在SpecFlow网站上找不到任何可以帮助我的东西。可能是我在App.config文件中遗漏了什么?

以下是我的App.config文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow" />
  </configSections>
  <specFlow>
    <!-- For additional details on SpecFlow configuration options see http://go.specflow.org/doc-config -->
    <unitTestProvider name="SpecRun" />
    <!-- setting flag to continue on first assert error -->
    <runtime stopAtFirstError="false" />
    <plugins>
      <add name="SpecRun" />
    </plugins>
  </specFlow>
</configuration>

1 个答案:

答案 0 :(得分:8)

SpecRun实际上在多次失败的测试后停止执行。可以使用以下行在.srprofile(EX:Default.srprofile)中指定此限制。

  <Execution retryFor="None" stopAfterFailures="0" testThreadCount="1" testSchedulingMode="Sequential" />

retryFor =&#34;无&#34;如果断言失败,将告诉SpecRun不要重试测试。

stopAfterFailures =&#34; 0&#34;将告诉SpecRun在任何失败后不要停止并继续。