我有一個引發錯誤消息的事件。單元測試錯誤信息的內容?
在我的一些測試,我訂閱的事件,並聲稱該錯誤信息是不是空的。
[Test]
public MyMethod_DoBad_ErrorMessageNotEmpty()
{
var logic = new MyClass();
string ErrorMessage = String.Empty;
logic.DisplayError += delegate(string s)
{
ErrorMessage = s;
};
logic.DoItBadly();
Assert.IsFalse(String.IsNullOrWhiteSpace(ErrorMessage));
}
//MyClass
public void DoItBadly()
{
//do something naughty but not final
DisplayError("Naughty");
//some other problem arises
if (1==1)
DisplayError("Something else naughty");
}
但是我開始在邊緣的情況下測試,我的新的測試應該不合格,合格,因爲它已經在以前的代碼引發錯誤事件之前,它已得到的地方,我希望它找到。
所以我應該斷言錯誤消息包含一個指定的字符串?
如果你爲你的測試提供了一些代碼,那將會很棒。你的測試是獨立的,還是共享一些數據? – 2012-03-27 16:25:50
他們都是獨立的。 – Jon 2012-03-27 16:27:03