You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET下升级Pact至v4后消费者契约测试遇Interop异常求助

Pact v4升级后Interop异常排查求助

错误详情

Message:  PactNet.Exceptions.PactFailureException : Unable to perform the given action. The interop call indicated failure

   Stack Trace:  InteropActionExtensions.CheckInteropSuccess(Boolean success) HttpInteractionDriver.WithRequest(String method, String path) RequestBuilder.WithRequest(String method, String path) RequestBuilder.WithRequest(HttpMethod method, String path) IRequestBuilderV2.WithRequest(HttpMethod method, String path) CasClientPact.EnsureCasClientHandlesAddItemEndpointWhenAlreadyIn() line 63

环境版本

  • 操作系统:Windows 11
  • .NET:6.0
  • Pact Net:4.5.0
  • NUnit:3.13.3
  • NUnit3TestAdapter:4.5.0
  • Microsoft.NET.Test.Sdk:17.7.2

演示项目信息

  • Git仓库:Capstone project
  • Tag:PactNotWorking
  • 测试位置:casClient项目,cas.pact.consumer.test.cs文件

示例代码

using NUnit.Framework;
using PactNet.Infrastructure.Outputters;
using PactNet;

public CasClientPact()
{
    var config = new PactConfig
    {
        PactDir = @"../../../../artifacts/pacts"
    };
    IPactV2 pact = Pact.V2("CasClient", "Cas", config);
    this.pact = pact.WithHttpInteractions(9222);
}

[Test]
async public Task EnsureCasClientHandlesAddItemEndpointWhenAlreadyIn()
{
    pact
   .UponReceiving("A request to add item that is already stored")
   .WithRequest(HttpMethod.Post, "/cas/someNs")
   .WithBody("alreadyin", "application/octet-stream")
   .WillRespond()
   .WithStatus(200)
   .WithBody("/cas/someNs/content/-AFBB8Hv7uIEEmV1Srn0Y-OkfnMplM-FX8TEh4-SucM", "text/plain; charset=utf-8");

    await pact.VerifyAsync(async ctx =>
    {
        byte[] bytes = Encoding.ASCII.GetBytes("alreadyin");
        var result = await Client.AddItemAsync("someNs", bytes, "application/octet-stream");
        Assert.AreEqual("/cas/someNs/content/-AFBB8Hv7uIEEmV1Srn0Y-OkfnMplM-FX8TEh4-SucM", result);
    });
}

问题说明

原有代码在Pact v3环境下可正常运行,已按照官方升级指南迁移至Pact v4版本,但执行消费者契约测试时触发上述Interop异常,现寻求该问题的解决方案。

内容的提问来源于stack exchange,提问作者Stave Escura

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 04:55:13