2012-08-24 38 views
0

我的問題是,如何在單個TestFixture上一次運行單個測試(例如,用於調試)。 我在每個測試類別中都有幾個TestFixtures,每當我單擊一個測試中的R#圖標時,它就會顯示'運行'/'調試',但是,即使選擇了精確的測試和固定裝置,R#和NUnit一個接一個地運行所有的燈具。如何在NUnit中使用ReSharper7運行單個測試

[Category("LoginTestSuite")] 
[TestFixture(SiteEditionsEnum.AsiaPacific)] 
[TestFixture(SiteEditionsEnum.Australia)] 
[TestFixture(SiteEditionsEnum.Canada)] 
[TestFixture(SiteEditionsEnum.CanadaFrench)] 
[TestFixture(SiteEditionsEnum.France)] 
[TestFixture(SiteEditionsEnum.Germany)] 
[TestFixture(SiteEditionsEnum.HongKong)] 
[TestFixture(SiteEditionsEnum.Japan)] 
[TestFixture(SiteEditionsEnum.Spain)] 
[TestFixture(SiteEditionsEnum.UnitedKingdom)] 
[TestFixture(SiteEditionsEnum.UnitedStates)] 

public class LoginTestSuite : FrontEndTestSuitesCommon 
{ 
[...] 


    [Test] 
    public void RunLoginFunctionalTest() 
    { 
     Logger.Log(MessageType.None, "This test case is using the email address: " + ConfigurationManager.AppSettings["DefaultLoginEmail"], LogLevel.Info); 
     Actions.Login.GetToLoginPage(); 
     Actions.Login.SetLoginCredentials(); 

所有燈具開始運行點擊(即所有siteEditions)

菜單似乎在說它將運行或調試僅與英國TestFixtures那個測試,但它沒有,之後它運行所有燈具代替。 我使用VS2008 SP1,ReSharper 7.0.97.60與內置NUnit 2.6

回答

2

首先我認爲你的測試設置有一個基本缺陷,你試圖讓你的一個測試做得太多。單元測試的主要概念之一是「單一責任」,詳細測試並不是一件壞事,並且進行大量測試並不是一件壞事。

我的建議是將您的測試分解爲每個TestFixture的類,或者您可以爲每個TestFixture Item創建一個測試?它不是關於Resharper不會錯誤地運行你的測試,而是你如何編寫你的測試不符合resharper設計的工作方式。