如何解决「Mockito:模拟未在接口中定义的映射器的SQLException」
0。概述:
框架:春季靴
数据库访问:MyBatis
我有两层:服务和映射器。
我的愿望是模拟mapper的方法:
purchaseHistoryMapper.addPurchaseHistory(purchaseHistoryEntity)
返回
sqlException
我尝试了很多方法,但是没有用(Mockito和BDD Mockito)
given(purchaseHistoryMapper.addPurchaseHistory(purchaseHistoryEntity)).will(invocation ->
throw new sqlException("exception123","1000",100));
这样,
purchaseHistoryMapper.addPurchaseHistory(purchaseHistoryEntity)
将返回0,而不是异常
我无法修复现有代码,因为有人写了它。我只编码jUnit。
1。服务
private int addPurchaseHistory(PurchaseHistoryEntity purchaseHistoryEntity) throws sqlException {
return purchaseHistoryMapper.addPurchaseHistory(purchaseHistoryEntity);
}
2。映射器
public interface PurchaseHistoryMapper {
...
int addPurchaseHistory(@Param("purchaseHistoryEntity") PurchaseHistoryEntity purchaseHistoryEntity);
....
}
3。 XML
INSERT INTO purchase_history (user_id,total_money)
VALUES (#{user_id},{total_money})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。