我使用的是NUnit 2.5,我想測試一個接收幾個參數的方法。
嘗試使用一種測試方法對幾種不同的測試案例進行測試是合理的嗎?或者從長遠來看難以維護(或只是指出確切的故障)?在一種方法中測試幾個不同結果的單元
我總的想法是嘗試像
[TestCase("valid", Result="validasd",
Description = "Valid string test, expecting valid answer")]
[TestCase(null, ExpectedException = typeof(ArgumentNullException),
Description = "Calling with null, expecting exception")]
[TestCase("", ExpectedException = typeof(ArgumentException),
Description = "Calling with an empty string, expecting exception")]
public string TestSubString(string value)
{
return MethodUnderTest(value);
}
是不是也推薦使用 - 沒有明確的斷言,只是返回值檢查?或者我應該堅持正常的方式還是堅持方法內的價值?
我還使用指向IEnumerable字段的TestCaseSource屬性編寫了一些帶有更復雜參數和返回值的測試。我認爲這有點太過分 - 這樣數據,更重要的是斷言邏輯,遠離測試本身,這將明確地讓它難以理解。 感謝您的輸入。 (也對其他人) –
2009-05-26 14:15:28