2014-06-27 67 views
2

我有一堆場景寫在我的功能文件中,其中有斷言。如果第一個場景的斷言失敗,則Specflow將跳過其後的所有場景。我希望所有場景都能繼續運行,即使其中一個失敗,就像在NUnit中一樣。我使用SpecRun作爲測試提供者,在SpecFlow網站上找不到任何可以幫助我的東西。難道是我在App.config文件中丟失了一些東西?SpecFlow跳過方案,如果它之前失敗斷言

以下是我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> 

回答

6

SpecRun實際停止執行。此限制可以在.srprofile(EX:Default.srprofile)中用以下行指定。

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

retryFor =「None」將告訴SpecRun不會在重試失敗時不重試測試。

stopAfterFailures =「0」會告訴Specrun在任何故障後不會停止並繼續。