Java 测试用例问题

Java 测试用例问题,java,Java,嗨 我有一个类,在这个类中我有一个方法,如下所示: 我正在使用java public class ABC{ some code here... .................. PreparedStatement pre; public void insertUser(String firstName,String lastName){ pre.setString(1,firstName); pre.setStr

嗨 我有一个类,在这个类中我有一个方法,如下所示: 我正在使用java

public class ABC{
    some code here...
     ..................
     PreparedStatement pre;
      public void insertUser(String firstName,String lastName){
          pre.setString(1,firstName);
          pre.setString(2,lastName);
          pre.execute();
      }
}
对于上面的方法,我想编写测试用例,我创建了测试类,如下所示:

public class ABCTest{
    ABC abc=new ABC();
   public void testInsertUser(){
现在我要写assert语句,我要测试insert是否成功,
我想使用
assert()
测试方法变量。请告诉我如何用java编写测试用例。

您需要执行以下操作:

  • 检查插入前后的行数,并断言插入后的行数大于插入前的行数
  • 执行SELECT并查看您的行是否已进入数据库
  • 检查调用返回的受影响的行数,并确保它等于1

  • 可能您的“insertUser”方法还有其他方法,如“selectUser”和“removeUser”,因此在您的测试用例中,您应该使用“selectUser”方法来确保您的用户出现在DB中,最后您还应该调用“removeUser”,因为在测试之后,您应该保持数据与以前一样干净(使测试能够在相同的测试数据上以相同的结果运行多次)。

    您的意思是:

    public void testInsertUser(){
    ABC.insertUser(User.firstname, user.lastname);
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT firstname_Colname, lastname_Colname FROM Your_Table");
    boolean found = false;
    while (rs.next())
    {
      found = ((User.firstname = rs.getString("firstname_Colname")) and (User.lastname = rs.getString("lastname_Colname")));
      if (found)
      {
        break;
      }     
    }
    assertEquals('test failed!', true, found);
    }
    

    如果是,您实际上是在测试准备好的声明,这对我来说没有任何意义!

    在右侧,当您提出问题时,有一个方便的格式框。值得一读,正如[?]就在问题区域上方。你在问题上投入的精力越多,你得到的答案的质量和数量就越好。如果你的其他11个问题没有一个真正得到可接受的答案,恕我直言,这表明问题的质量有问题。StackOverflow社区比这更有帮助。注意t您可能不希望您的单元测试进行断言。相反,您可能只希望返回一个
    布尔值
    ,以便您的测试框架可以收集多个测试的结果。您询问了相同的问题。如果您希望编辑问题以添加更多数据,请避免重复提问。