有兩種情況我們需要考慮在ATP中分配資源(資源可能是創建用戶,連接數據庫)。他們是
- 每次測試後創建和刪除資源。
- 在一組測試後創建和刪除資源。
資源的創建和刪除每次測試後:
如果我們想的一個測試執行之前創建特定對象的實例,並要清理執行後,分配給該對象的內存那測試,那麼我們使用NUnit的Test SetUp
和Test TearDown
屬性。在你的案例中,對象是用戶數量的創建。
[SetUp]
:該函數裝飾有測試設置屬性包含一段代碼的任何測試執行之前執行。
[TearDown]
:該函數裝飾有測試TearDown中屬性包含一段代碼,任何測試的執行之後執行
實現:
[TestClass]
public class UnitTest1
{
[SetUp]
public void SetUP()
{
// Creating Users with proper credentials
}
[TestMethod]
public void TestMethod1()
{
//Write your ATP
}
[TearDown]
public void TearDown()
{
//Clean up
}
}
創作和資源的刪除組測試後:
現在,如果我們想創建一個對象的實例爲測試集,並且希望在執行所有測試後清理內存,然後分別清理內存和[TestFixtureSetUp]
和[TestFixureTearDown]
以清理內存。再次在您的案例對象可以創建一組用戶。
[TestFixtureSetUp]
:用TestFixtureSetUp
裝飾的功能將執行一次之前執行測試組的執行。
[TestFixtureTearDown]
:用TestFixtureTearDown
裝飾的功能將執行一次後執行一組測試。
實施
[TestFixture]
public class Tests
{
[TestFixtureSetUp]
public void Setup()
{
//Create users with credentials
}
[Test]
public void _Test1()
{
//Test_1
}
[Test]
public void _Test2()
{
//Test2
}
[TestFixtureTearDown]
public void CleanUp()
{
//Cleanup; Here you need to add code to Delete all users
}
}
注:我會建議你,如果你想創建和刪除用戶特定ATP然後用SetUp
和TearDown
去。如果您嘗試使用相同的一堆ATP,我會建議您使用TestFixtureSetUp
和TestFixtureTearDown
。
「如果你的測試獲得通過或失敗,安裝和拆卸功能將執行」
參考文獻:
我想訂閱當你取消或當它完成自然,而在此情況做清理 – bill
如果你在測試之前進行清理運行觸發事件處理程序? – Matthew
爲什麼不能在測試前刪除數據?它是你唯一的選擇,從調試器取消測試會停止所有執行 –