我需要为测试上课。问题是我正在使用第三方库,其中类(UpdateManager)构造函数采用 5 个参数,即一个 java.sql.Connection 和其他是字符串。在该构造函数内部,它通过将构造函数参数作为连接传递来创建一个类实例(DataSource)。在该数据源实例中,它调用其调用存储过程的方法之一。我的问题是我通过使用模拟连接传递这 5 个参数来创建 UpdateManager 的部分模拟,但是在构造函数内部调用 DataSource 上的方法时会引发空指针异常。在我通过下面给出的数据源存根之前
Mockito.doNothing().when(dataSource).update(
Mockito.any(DataSource.class), Mockito.any(ArrayList.class), Mockito.anyInt());
每次构造函数创建 DataSource 的新实例时,它仍然会抛出 NullPointException。在这种情况下,我如何在没有数据库连接的情况下模拟它,只抛出我的存根异常或 doNothing。我使用了 MOCKITO。有没有更好的解决方案使用代理模式。
您的建议将不胜感激。