在我的应用程序中有3个文本框和一个按钮。如果用户未填写任何这些文本框并点击该按钮,则会向用户显示一个消息框,指出未输入特定文本框。
现在我如何使用Assert确认是否弹出了消息框?
提前感谢您的回答。
答案 0 :(得分:0)
对于这种GUI单元测试,更清晰的解决方案是抽象界面背后的UI副作用。
所以不要像以下那样调用:
ShowErrorMessage("This is bad");
您创建一个负责显示对象的界面
public interface MessageShower {
public function showMessage(String msg);
}
在现实生活中,您的代码将使用具体的实现:
public class ConcreteMessageShower {
public function showMessage(String msg) {
ShowErrorMessage(msg);
}
}
但是在单元测试中,您将使用虚假实现,存根或模拟。
这实际上是“如何测试UI副作用?”的一般问题,答案是:“你没有!” ;)
希望这有帮助。