gpt4 book ai didi

java - 即使 sql 查询不应返回任何记录,JUnit 测试仍然通过

转载 作者:行者123 更新时间:2023-12-02 10:42:17 25 4
gpt4 key购买 nike

我正在编写查询 SQL Server 数据库的 Cucumber 测试。

以下查询应该失败,因为表中不存在该记录。但是,测试通过了。

try { 
Class.forName(JDBC_DRIVER);
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);

System.out.println("Connected database successfully...");
stmt = conn.createStatement();
String sql = "SELECT id FROM tclientlink WHERE id = '0000060115123'";
ResultSet rs = stmt.executeQuery(sql);

while(rs.next()) {
int id = rs.getInt("goald_client_id");
System.out.print("ID IS HERE: " + id);
assertEquals(60115, id);
}
rs.close();
} catch(SQLException se) {
se.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
} finally {
try {
if(stmt!=null) stmt.close();
} catch(SQLException se2) {
}
try {
if(conn!=null) conn.close();
} catch(SQLException se) {
se.printStackTrace();
}
}
System.out.println("Goodbye!");
}

最佳答案

以下行有 NullPointerException :

int id  = rs.getInt("goald_client_id"); 

进入异常 block ,只需在所有异常 block 中添加以下语句即可

assertEquals(true, false);

关于java - 即使 sql 查询不应返回任何记录,JUnit 测试仍然通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52853706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com