0

我有一个包含 JTabel 和 JTextField 的 Jpanel,当单击该行两次时,它们会显示 Jtable 行的值。用户可以编辑 JTextField 值,而不是单击按钮进行更新,一旦单击按钮,将调用 updateUser 方法。我正在尝试编写一个 JUnit 测试来测试 updateUser 是否正在更新用户。如何双击特定的表格行以获取显示在指定 JTextField 中的数据?

 public void updateUser(){

      String  id= txtid.getText();
      String  name =txtName.getText();
      String q = "UPDATE `user` SET `name`=? WHERE `id`=?";
        try{
             PreparedStatement ps = Login.con.prepareStatement(q);
             ps.setString(2, id);
             ps.setString(1, name);
             ps.executeUpdate();
             JOptionPane.showConfirmDialog(null, "User Updated");
            }catch(Exception eu){

                      }
}
4

1 回答 1

1

Unittest 应该测试单元,特别是逻辑单元,在你的情况下,我会将updateUser()方法更改为:

bool updateUser(String id, String name)

您可以对其进行测试,然后不依赖于 GUI 元素。然后showConfirmDialog可以根据 updateUser 方法的返回值显示。

于 2013-05-22T11:49:14.953 回答