1
我正在爲我的WPF C#應用程序編寫NUnit測試代碼。這裏有一些我的方法有MessageBox.Show(「」);,但我們不知道如何在代碼中處理這個。在NUnit測試中處理MessageBox
請通過提供解決方案來幫助我。
感謝,
我正在爲我的WPF C#應用程序編寫NUnit測試代碼。這裏有一些我的方法有MessageBox.Show(「」);,但我們不知道如何在代碼中處理這個。在NUnit測試中處理MessageBox
請通過提供解決方案來幫助我。
感謝,
你可以創造一種MessageBoxService的,你可以在您的測試嗤笑。一個例子代碼:
public class ClassUnderTest
{
public IMessageBoxService MessageBoxService { get; set; }
public void SomeMethod()
{
//Some logic
MessageBoxService.Show("message");
//Some more logic
}
}
interface IMessageBoxService
{
void Show(string message);
}
public class MessageBoxService : IMessageBoxService
{
public void Show(string message)
{
MessageBox.Show("");
}
}
然後在您的測試,你可以選擇嘲笑公共財產或創建構造函數傳遞嘲笑實例。 例如,如果你使用起訂量的測試看起來是這樣的:
[Test]
public void ClassUnderTest_SomeMethod_ExpectsSomtething()
{
ClassUnderTest testClass = new ClassUnderTest();
testClass.MessageBoxService = new Mock<IMessageBoxService>().Object;
//More setup
//Action
//Assertion
}
[WPF和MVVM - 單元測試和彈出消息框或對話框]的
可能重複(http://stackoverflow.com/questions/ 15663320/WPF的MVVM單元測試 - 和 - 彈出消息盒或 - 對話框) – stijn