【问题标题】:Run Pact Provider Test Class in Sequence按顺序运行 Pact Provider 测试类
【发布时间】:2020-09-29 18:08:09
【问题描述】:

我正在使用 pact-jvm 提供程序 spring。我有两个不同的 pact(.json) 文件(order.json 和 irs.json),我需要按顺序运行它们(顺序后跟 irs),但是根据字母顺序选择测试类,irs 运行第一和顺序运行第二。有没有办法调用执行特定的测试类提供者状态或定义测试类执行顺序?

【问题讨论】:

    标签: pact pact-jvm pact-java


    【解决方案1】:

    Pact 不是端到端测试的工具,事实上,Pact 的既定目标之一是减少或在某些情况下完全消除对 E2E 测试的需求。

    我们不进行端到端测试,而是使用合同测试来避免这样做的需要。这样做有很多好处,包括能够分别测试和发布事物,避免管理测试环境和数据的需要,以及减少测试本身的耦合/排序。此外,它应该能够在您的笔记本电脑或 CI 构建上运行 - 您无需针对部署到真实环境的运行提供程序进行测试。

    如果您必须按特定顺序运行一组这些测试,那您就错了

    这里有一些链接可以帮助你更好地理解我的意思:

    https://docs.pact.io/consumer/contract_tests_not_functional_tests https://docs.pact.io/faq/#do-i-still-need-end-to-end-tests https://docs.pact.io/getting_started/what_is_pact_good_for

    我还建议完成我们的workshops 之一,可能是https://github.com/DiUS/pact-workshop-jvm

    大约需要 1 小时,但非常值得您花时间,因为所有核心概念都得到了清晰的解释。

    【讨论】:

    • 感谢 cmets。我不是在这里测试完整的业务逻辑或执行功能测试。我正在尝试对每个服务进行一个简单的 API 调用(一个成功案例,一个失败案例)进行编排。我想运行它以显示系统的逻辑流程。
    • 不用担心。这仍然不是 Pact 的设计目的——它是为在单个交互级别捕获 API 通信而设计的——而不是序列等。为什么需要显示系统的逻辑流程?
    猜你喜欢
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-01
    • 2020-04-17
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    相关资源
    最近更新 更多