2011-10-15 76 views
2

我有VS 2010 Ultimate與ReSharper,Reflector和SpecFlow擴展。我在我的一個測試項目中使用SpecFlow和WebDriver進行自動UI測試。我正在接近該項目中約400個單獨的測試場景。爲什麼我在Visual Studio中的測試視圖很慢?

當我打開Visual Studio時,一切都很好(除了ReSharper附帶的一些通常的同步緩慢外)。然而,只要我點擊標籤顯示我的內置「測試視圖」,VS在測試加載時凍結約60秒。

我擔心隨着我們將更多測試放入SpecFlow項目中,情況會變得更糟。有什麼我可以在我的TestSettings文件中改變,以使其更快?我是否應該嘗試並徹底拋棄TestSettings文件,或者這甚至不可能?或者,我是否應該將MSTest與SpecFlow切換到其他類似NUnit的測試視圖緩慢消失?

回答

3

帶了我所有該死的夜晚,但我知道了。我有以下項目&命名空間:

MyCompany.MyApp (proj dll) 
MyCompany.MyApp (proj namespace) 

MyCompany.MyApp.UnitTest (proj dll) 
MyCompany.MyApp (proj namespace) 

MyCompany.MyApp.WebTest (proj dll) 
MyCompany.MyApp (proj namespace) 

的specflow/webdriver的項目是 「WebTest的」 項目。通過將項目的默認名稱空間從「MyCompany.MyApp」更改爲「MyCompany.MyApp.WebTest」,並更新所有文件的名稱空間以與此匹配,測試視圖現在會在3秒內加載。

希望這可以幫助別人。測試視圖必須一直試圖解決測試項目和應用程序項目之間的某種名稱空間衝突。

+1

您是否試圖通過還原來重現此問題? – sll

+1

是的。只要將SpecFlow/WebDriver項目中的名稱空間更改回MyCompany.MyApp,就會導致重新生成所有* .feature.cs文件,並且測試視圖再次緩慢加載。事實上,我通過創建一個全新的SF/WD proj找到了原因,並且該proj很好,直到我更改了默認的proj namepsace。 – danludwig

相關問題