PactSwift 如何在 CI 上构建

问题描述 投票:0回答:2

PactSwift: 我们无法在实时设备上运行时生成pact文件,因此我们计划使用CI生成pact文件。 请分享如何使用 CI 生成和推送 Pact 文件的信息。

swift pact
2个回答
0
投票

消费者管道的步骤是这样的:

  • 运行消费者测试。你应该知道这里的确切命令
    • 确保您了解测试运行后契约位于何处
  • 使用 PactBroker CLI 将契约发布到经纪人:
    pact-broker publish ...
    • 确保您知道这里:pactbroker URL,如何调用它的方式(auth)

这是第一部分,当提供者部分准备就绪时,

can-i-deploy
还有更多


0
投票

PactSwift
作者在这里。 (现在才偶然发现这一点,抱歉🤷u200d♂️)

不支持在物理设备上运行时生成pact文件。 您仍然可以运行和验证测试,但不会生成契约文件。控制台应该打印一条消息来说明这一点。

推理:

PactSwift
使用用 Rust 编写的
libpact_ffi
二进制文件。它在进程中运行模拟服务器(API 提供者),并且这个
libpact_ffi
负责编写契约文件。这意味着实际运行测试的设备或机器是服务器并写入“本地”存储。这就是为什么将文件写入物理 iOS 设备的沙盒文件系统没有多大意义。

也许这种情况将来会改变。没说会,我也不承诺任何事情!

© www.soinside.com 2019 - 2024. All rights reserved.