java - 如何模拟 swing 弹出对话框中的按钮单击?

标签 java swing junit

我是 Java 新手,我想为名称验证类编写 JUnit 测试

我想测试下面的代码:

public boolean createNewUMLClassFromString(String className) {
    if(validate(className)){
              ....
    }
    return false;
}

private boolean validate(String userInput){
    /* check if it's empty  */
    if (userInput.equals("")){  
                    JOptionPane.showMessageDialog(null, "Class Name can't be empty");
        return false;
    }
            return true;
}

于是我写了一个JUnit

public void emptyStringCheckerTest(){
    assertFalse("new class can not be empty", um.createNewUMLClassFromString("do"));

}

可以,但是在测试运行过程中,每次都需要点击弹出对话框。

那么有没有人可以告诉我在测试过程中如何模拟按钮点击,或者有没有更好的方法来编写测试?谢谢?

最佳答案

要执行编程按钮单击,只需调用 doClick() 方法即可。不过,我不知道如何将其插入到您的测试程序中。

关于java - 如何模拟 swing 弹出对话框中的按钮单击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15597425/

相关文章:

java - 没有看到 EditNameDialogListener 界面

java - 在 servlet 中以编程方式调用过滤器(使用 jetty/spark 创建)?

java - 实时用户输入的 jFormatedTextField 货币格式

java - netBeans GUI 表单更改面板

android - Robolectric 在命令行上失败,但在 Android Studio 中成功

java - JUnit:是否可以模拟在全局变量的初始化中调用的静态方法?

java - GXT - 窗口中的截断文本

Java注释: elements declared as method but value set as attribute

JavaFX 等效于 Swing 的 pack()

java - JUnit/Mockito 测试用例在 Debug模式下通过但在运行模式下未通过