我是新的PACT,并试图使用pact-net的合同测试的.net微服务。我理解消费者测试的概念,它生成一个pact文件。有一个提供者状态中间件的概念,它负责确保提供者的状态与生成的pact中的给定()条件相匹配。我对以下几点或如何做到这一点感到有点困惑:
提供程序测试是针对实际服务运行的。因此,我们在运行测试之前启动提供者服务。我的提供程序服务与数据库交互以存储和检索记录。PACT还提到,应该对服务的所有依赖项进行删节。
我遇到的所有基本博客文章都没有解释这一点,而且通常都有没有提供程序状态或状态的示例,它们只是文件系统上的一些文本文件。
帮助感激。
发布于 2021-11-04 14:33:49
我要补充马特的评论,你有三种选择:
对于2)或3),您必须拥有测试路由,并将提供者状态中间件注入到提供程序测试夹具中。然后,您可以将提供程序状态配置为生成内存中的数据(如果是解决方案3),或者在解决方案2中添加一些数据init)。
您可以在这里找到一个例子:https://github.com/pact-foundation/pact-net/tree/master/Samples/EventApi/Provider.Api.Web.Tests
发布于 2021-10-29 00:52:00
提供者测试是针对实际服务运行的。
您是指针对活动环境,还是针对单元测试在本地运行的实际服务(由于上文(2)的原因,不建议使用前者)。
在您的示例中,
https://stackoverflow.com/questions/69748571
复制相似问题