我正在用UISpec4j为Swing应用程序编写一些功能测试。
有一些字段需要填写,还有一个用于保存的按钮。根据填写的字段组合,单击保存按钮时可能会显示模式错误对话框。
我不想重复在测试用例中显示错误对话框的逻辑,只要断言在单击保存按钮时没有显示错误对话框即可。
这可以用一种比调用WindowInterceptor.getModalDialog()并捕获AssertionError更不复杂的方式来完成吗?
根据您的代码在应用程序中的组织方式,您可以包含Mockito或等效程序,并检查负责显示对话框的方法是否从未被调用。通过Mockito API("确保交互从未在mock上发生"),您可以添加以下内容:
//verify that method was never called on a mock
verify(mockOne, never()).add("two");
另一种方法是用自己的包装器替换对话框类,并检查show方法是否从未被调用。