0

当提供者的端点执行数据持久性时,执行合同测试的最佳方法是什么?

例如,客户的注册。我应该考虑回滚管道中的数据吗?

4

2 回答 2

0

我根据每个特定代码库的模拟/不模拟的权衡做出决定。我在微服务上工作过,很容易回滚事务,所以我使用真实的数据库进行这些测试。正如 Fabricio 所建议的那样,我还研究过模拟存储库更有意义的系统。我总是模拟下游服务依赖。

于 2018-10-23T09:36:04.240 回答
0

考虑到客户端驱动的合同测试(通常)不应该是功能测试,我模拟了处理其余调用的提供程序资源下面的所有内容。因此,没有数据被持久化,它也大大简化了测试,因为你删除了对外部组件的任何依赖,包括数据库。

例如,如果您的ClientResource(或ClientController,取决于您的名称模式)调用 a ClientRepositoryClientRepository则将被嘲笑。

于 2018-10-18T20:59:22.533 回答