【问题标题】:Programmatically close JDialog in java在java中以编程方式关闭JDialog
【发布时间】:2015-03-06 01:22:40
【问题描述】:

我正在为我的 Java 程序编写一些 JUnit 测试。其中一些测试会导致弹出消息,停止测试并要求我单击“确定”以继续。

有没有一种方法可以通过我的测试类以编程方式关闭 JDialog?

【问题讨论】:

  • 你总是可以让被测类不弹出JDialogs
  • 好吧,我需要主程序的弹出窗口。有没有办法只为了测试而禁用它们?
  • 如果你只是为了测试而禁用它们,那么是的。

标签: java swing junit popup jdialog


【解决方案1】:

听起来您需要采用更好的设计模式。您应该致力于将可测试的业务逻辑与用户界面分开。

从长远来看,我建议转向 model, view, presenter (MVP) 等设计模式。您的所有业务逻辑都将存在于 Presenter 中,这将是要测试的层。

作为一个短期解决方案,重构您的代码,以便任何消息都由某种MessageHandler 接口处理。在您的产品代码中,这将为用户创建真正的对话以与之交互。在您的测试中,您可以模拟接口并验证它是否已被调用。

【讨论】:

    猜你喜欢
    • 2011-07-11
    • 1970-01-01
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-08
    相关资源
    最近更新 更多