我不太確定這是否可行。如何確保類中的特定方法始終是第一個被調用的方法?
目前我需要在測試代碼開始之前設置許可證信息,因爲這些測試使用第三方組件庫,需要我初始化許可證信息。許可證信息只需在程序運行開始時設置一次。
但是據我所知,NUnit的理念是你可以隨時運行一個類,任何類,任何順序,所以雖然每個類都有一個setup
方法,但沒有一個setup
方法它在測試套件的測試開始時運行。但我可能是錯的。
有沒有辦法確保在整個測試執行過程中始終調用一個方法?
我不太確定這是否可行。如何確保類中的特定方法始終是第一個被調用的方法?
目前我需要在測試代碼開始之前設置許可證信息,因爲這些測試使用第三方組件庫,需要我初始化許可證信息。許可證信息只需在程序運行開始時設置一次。
但是據我所知,NUnit的理念是你可以隨時運行一個類,任何類,任何順序,所以雖然每個類都有一個setup
方法,但沒有一個setup
方法它在測試套件的測試開始時運行。但我可能是錯的。
有沒有辦法確保在整個測試執行過程中始終調用一個方法?
看看SetupFixture屬性。您可以定義一個設置函數來爲整個名稱空間運行一次。
通常我儘量避免設置和拆卸。他們傾向於指出(特別是拆解)我正在編寫集成測試時,我應該進行單元測試。 但是,我知道你的情況。當需要時,我從處理許可的類中派生testfixture。
public class LicencedTestFixture
{
private LicenseComponent _licenseComponent;
public LicencedTestFixture()
{
_licenseComponent = new LicenseComponent();
_licenseComponent.Init();
}
~LicencedTestFixture()
{
_licenseComponent.Shutdown();
}
}
測試夾具剛剛從類inherrit,這是所有需要知道:
[TestFixture]
public sealed class SomeTestFixture: LicencedTestFixture
{}