PactSwift: 我们无法在实时设备上运行时生成pact文件,因此我们计划使用CI生成pact文件。 请分享如何使用 CI 生成和推送 Pact 文件的信息。
消费者管道的步骤是这样的:
pact-broker publish ...
这是第一部分,当提供者部分准备就绪时,
can-i-deploy
还有更多
PactSwift
作者在这里。
(现在才偶然发现这一点,抱歉🤷u200d♂️)
不支持在物理设备上运行时生成pact文件。 您仍然可以运行和验证测试,但不会生成契约文件。控制台应该打印一条消息来说明这一点。
推理:
PactSwift
使用用 Rust 编写的 libpact_ffi
二进制文件。它在进程中运行模拟服务器(API 提供者),并且这个 libpact_ffi
负责编写契约文件。这意味着实际运行测试的设备或机器是服务器并写入“本地”存储。这就是为什么将文件写入物理 iOS 设备的沙盒文件系统没有多大意义。
也许这种情况将来会改变。没说会,我也不承诺任何事情!