2010-06-03 50 views
3

如何讓我的App.config文件被NUnit GUI runner識別/使用?我已經嘗試將它放在我的項目的頂層文件夾中,並放在與我的功能文件相同的文件夾中。這裏是我的App.config文件的內容:對於SpecFlow的App.config不能被NUnit GUI runner識別

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
    <section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow"/> 
    </configSections> 

    <specFlow> 
    <runtime detectAmbiguousMatches="true" 
      stopAtFirstError="false" 
      missingOrPendingStepsOutcome="Error" /> 
    </specFlow> 
</configuration> 

具體來說,我想告訴NUnit的有當有丟失或掛起的步驟,這就是爲什麼我指定「錯誤」這是一個失敗的結果。當我使用TestDriven.net時,這實際上正確地工作,但當我使用NUnit GUI runner時卻不正確。圖形用戶界面始終顯示一個綠色條,並將測試顯示爲「不確定」,而不是「錯誤」或「失敗」。

我推出這個命令行參數的GUI:

E:\ Program Files文件\ NUnit的2.5.5 \ BIN \ NET-2.0 \ nunit.exe「E:\ ACSreader新作\ ACSreader2工作拷貝\幹線\ ACSreader2 \ ACSreader2.sln」 /配置:測試

+0

我發現這個問題是特定於NUnit GUI亞軍,所以我更新了我原來的帖子 – 2010-06-03 17:33:28

回答

3

關於NUnit的GUI亞軍更新:

NUnit的入門似乎沒有正確顯示/報告尚無定論測試。一個不確定的測試在NUnit-GUI中顯示爲綠色,而TestDriven和ReSharper顯示爲黃色。

如問題所示,可以將SpecFlow配置爲將缺少的步驟報告爲錯誤而不是不確定。

配置發生在包含功能文件的項目的App.config中。 .NET中App.config的常用機制已被應用。這意味着在運行時配置信息必須位於名爲.dll.config的文件中。運行時將配置提供給SpecFlow。 SpecFlow不會從App.config中讀取配置本身!

確保在運行時正確命名的配置文件與包含測試裝置的dll一起存在。 VisualStudio通常在構建項目時透明地執行此操作。


原來的答覆:

在app.config必須在所包含的測試夾具(包含功能文件的項目)項目的根文件夾。

看看github上的例子。有幾個的App.config文件在不同的項目:

http://github.com/techtalk/SpecFlow-Examples/tree/master/ASP.NET-MVC/BookShop/BookShop.AcceptanceTests/

http://github.com/techtalk/SpecFlow-Examples/tree/master/ASP.NET-MVC/BookShop/BookShop.AcceptanceTests.Selenium/

http://github.com/techtalk/SpecFlow-Examples/tree/master/BowlingKata/BowlingKata-MsTest/Bowling.SpecFlow/

+0

謝謝你試圖幫助。我已經嘗試過了,沒有任何區別。我發現唯一不同於示例的是我的.feature文件位於我的項目的子文件夾內。我將嘗試將App.config和.feature文件放在項目的根文件夾中。 – 2010-06-03 07:24:22

+0

把一切都放在根上並沒有幫助我。由於問題特定於NUnit GUI,因此我更新了原始文章。 – 2010-06-04 01:33:48

+1

我更新了原來的答案。希望這可以幫助。 – jbandi 2010-06-04 10:10:22

0

見我的回答nunit and configs 你需要告訴NUnit的是什麼配置文件的名稱是。它尋找namespace.config默認它接縫