使JDBC调用为测试用例抛出SQLException

时间:2016-09-01 08:24:43

标签: java mysql unit-testing jdbc

我正在为我的程序编写测试用例并且为了最大化代码覆盖率,我必须提出一个SQLException,然后在我的测试用例中检查该异常。

public double getTotalAmount(String form,String name) {
    DbManager manager = new DbManager();
    double amount = 0;
    ResultSet executeQuery = manager.findAll("select amount From "+form+" where employee_name='"+name+"'");
    try {
        while (executeQuery.next()) {
            String tempAmount = executeQuery.getString("amount");
            amount += Double.valueOf(tempAmount);
        }
        return amount;
    } catch (SQLException e) {

        e.printStackTrace();
    }
    manager.closeConnection();
    return -1;

现在我无法在我的代码中引发SQLException,你能否建议我如何在我的代码中引发这个异常。

1 个答案:

答案 0 :(得分:0)

根据javadocs

https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#getString(int)

  

SQLException - 如果columnIndex无效;

所以在你的代码中

String tempAmount = executeQuery.getString(1000);

如果您的tester类需要捕获此异常,那么您还需要从getTotalAmount

中删除它