在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

回到顶部