在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 - 单元测试和弹出消息框或对话框]的以上是 在NUnit测试中处理MessageBox 的全部内容, 来源链接: utcz.com/qa/263996.html