【问题标题】:Junit testing expected valueJunit测试期望值
【发布时间】:2020-06-07 16:41:13
【问题描述】:

我有以下方法在Junit中测试

public static boolean saveLocationData(String student, String city, String location){
    boolean status=false;
    try {
        Connection mySqlConn = MySQLConn.getConnection();
        String mySqlQuery = "INSERT INTO locations VALUES ( ?, ?, ?)";
        PreparedStatement preparedStatement =    mySqlConn.prepareStatement(mySqlQuery);
        preparedStatement.setString(1, student);
        preparedStatement.setString(2, city); 
        preparedStatement.setString(3, location); 
        preparedStatement.execute();                                                                 
    } catch (Exception exception){
        /////
    }
    return status;
}

我尝试过的测试是:

final void  saveLOCATIONData() {                                   
    boolean validation = LocationDao.saveLocationData("student", "nyc", "usa");
    assertTrue(validation);

    //doesn’t exist
    validation = LocationDao.saveLocationData("example", "example", "example");
    assertFalse(validation);
}

当我运行测试时,它说预期值应该为真,而不是假,而这是我在数据库中拥有的实际数据。什么可能导致问题?

【问题讨论】:

  • 请使用有效示例更新您的问题。例如。 this 是保留字。
  • 另外,这个方法返回什么?如果我们忽略“this”是一个无效的变量名这一事实,该方法将始终返回false
  • 我刚刚更新了代码@Mensur Qulami
  • 我刚刚更新了它@zforgo
  • @user12934352 仍然,status 的值始终是 false。是否在任何地方更新?

标签: java testing junit junit5


【解决方案1】:

请尝试以下代码:-

public static boolean saveLocationData(String student, String city, String location){
    boolean status=false;
    try {
        Connection mySqlConn = MySQLConn.getConnection();
        String mySqlQuery = "INSERT INTO locations VALUES ( ?, ?, ?)";
        PreparedStatement preparedStatement =    mySqlConn.prepareStatement(mySqlQuery);
        preparedStatement.setString(1, student);
        preparedStatement.setString(2, city); 
        preparedStatement.setString(3, location); 
        preparedStatement.execute();
        status=true;                                                                 
    } catch (Exception exception){
        /////
    }
    return status;
}

*************************************************
final void  saveLOCATIONData() {                                   
    boolean validation = LocationDao.saveLocationData("student", "nyc", "usa");
    assertTrue(validation);

    //doesn’t exist
    validation = LocationDao.saveLocationData("example", "example", "example");
    assertFalse(validation);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 2022-07-06
    • 2011-09-19
    • 1970-01-01
    • 2016-09-18
    相关资源
    最近更新 更多