我正在学习使用 Karate 为基于 Java 的 API 开发自动化测试,该 API 包含一个 DAO 层,用于与数据库通信以检索一些信息并将其呈现给被调用者。这是简单的工作流程:
获取付款信息 -> 调用 PaymentsInformationService -> 调用 PaymentInformationDAO -> 调用 MYSQL 数据库 -> 返回 200OK
使用(伪)代码:
PaymentInformationServiceImple -> PaymentsInformationDAOImple.getPayments(int custId)
我有一定的 NodeJS 组件测试背景(我使用 jest,通过简单的参考函数来消除调用上面的 dao 的支付服务的依赖关系是相当简单的)。我试图在 Karate 和这些 Java Impl 类中做同样的事情,我需要实时删除
PaymentInformationDAO
,这样组件测试就不会变成实时集成测试(即我不想测试对数据库,而是在对服务进行 /GET 调用时单独将其存根)
我已经在谷歌上搜索了很多,但我只找到了诸如使用wiremock来阻止下游API调用之类的信息。就我而言,我需要删除 DAO 本身,它不是 API 调用。我该如何处理这个问题?