簡體   English   中英

Pact - 在提供者端驗證時忽略一些交互

[英]Pact - Ignore some interactions when verifying on provider side

假設我有一個涉及 2 次交互的提供者(與一個或多個消費者,這無關緊要)。

在提供者方面,我能夠處理一種交互,因為我知道如何解釋一種交互的提供者 state 而不是另一種交互。

有沒有辦法忽略未知的提供者狀態並避免驗證失敗(或者至少避免測試失敗,我認為驗證失敗實際上是有意義的)?

我在 Scala 中將 pact4s 與 scalatest 一起使用,但我想 pact-jvm 和 Junit 的解決方案仍然有幫助,並且可以以類似的方式應用於 pact4s。

這是我正在使用的 Scala 代碼:

val provider: ProviderInfoBuilder = ProviderInfoBuilder(
    "scalatest-provider",
    ...
  )
    ...
    .withStateChangeFunction((state: ProviderState) =>
      state match {
        case ProviderState("some state", params) =>
          // Do something as I know how to handle this provider state
        case _ => 
         // Unknown provider state, make the test ignore this interaction and not fail
      }
    )

我試圖實現的實際上是未決契約功能的目的。

啟用后,如果一個契約以前從未被成功驗證過,即使驗證失敗,也不會使提供者端的測試失敗。

該協議仍將在 Pact Broker 上被標記為“待定協議”,以便您可以了解它。 但它不會阻止提供商成功運行其測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM