2012-03-16 33 views

回答

0

您應該在確定性環境下測試您的方法,即使用一組始終返回相同響應的參數。如果你的方法有時拋出一個異常,有時不拋出,你應該對它拋出的情況進行一次測試,對於拋出的情況,你應該進行另一次測試。

如果你這樣做而不是可以控制你拋出異常的條件,這是一個標誌,你需要重構你的代碼,以便提取條件,並且能夠以確定性方式測試該方法辦法。

例如:

[TestMethod] 
public void SomeMethodDoesntFail() 
{ 
    var obj = new objectUnderTest(); 
    var shouldThrow = false; 
    var result = obj.SomeMethod(shouldThrow); 
    Assert.IsEqual(*expected result*, result); 
} 

[TestMethod, ExpectedException] 
public void SomeMethodFails() 
{ 
    var obj = new objectUnderTest(); 
    var shouldThrow = true; 
    var result = obj.SomeMethod(shouldThrow); 
} 
相關問題