2011-06-27 18 views
0

我不太確定這是否可行。如何確保類中的特定方法始終是第一個被調用的方法?

目前我需要在測試代碼開始之前設置許可證信息,因爲這些測試使用第三方組件庫,需要我初始化許可證信​​息。許可證信息只需在程序運行開始時設置一次。

但是據我所知,NUnit的理念是你可以隨時運行一個類,任何類,任何順序,所以雖然每個類都有一個setup方法,但沒有一個setup方法它在測試套件的測試開始時運行。但我可能是錯的。

有沒有辦法確保在整個測試執行過程中始終調用一個方法?

回答

3

看看SetupFixture屬性。您可以定義一個設置函數來爲整個名稱空間運行一次。

0

通常我儘量避免設置和拆卸。他們傾向於指出(特別是拆解)我正在編寫集成測試時,我應該進行單元測試。 但是,我知道你的情況。當需要時,我從處理許可的類中派生testfixture。

public class LicencedTestFixture 
{ 
    private LicenseComponent _licenseComponent; 

    public LicencedTestFixture() 
    { 
     _licenseComponent = new LicenseComponent(); 
     _licenseComponent.Init(); 
    } 

    ~LicencedTestFixture() 
    { 
     _licenseComponent.Shutdown(); 
    } 

} 

測試夾具剛剛從類inherrit,這是所有需要知道:

[TestFixture] 
public sealed class SomeTestFixture: LicencedTestFixture 
{} 
相關問題