我想测试一个 REST 服务,它返回由 UUID 标识的给定实体的详细信息,即我的消费者协议有一个请求 GET 的交互,如下所示:
/城市/123e4567-e89b-12d3-a456-426655440000
所以我需要这个特定的记录存在于数据库中,以便协议验证者找到它。在其他项目中,我已经实现了在状态设置中执行 SQL INSERT,但在这种情况下,我更喜欢使用微服务的 JPA 实用程序来访问数据库,因为数据模型非常复杂,使用这些实用程序可以节省我付出了很多努力,并使测试更易于维护。
问题是这些实用程序不允许在您创建新记录时指定标识符(它们分配自动 ID)。因此,在创建实体(在状态设置中)之后,我想告诉协议验证者使用生成的 ID,而不是消费者协议指定的 ID。
据我所知,Pact 匹配技术在这里没有用处,因为我需要微服务来接收这个特定的 ID。验证者有没有办法知道在调用服务时使用的正确 ID?