验证提供商方时无法从dotnet核心中的Pact Brocker提取PACT

时间:2018-10-28 05:24:57

标签: .net pact-broker

我已经在C#dotnet核心的用户端实现了PACT,并且能够使用以下代码将* .json pact文件发布到PactBrocker。

var pactPublisher = new PactPublisher("http://domain.pact.dius.com.au", new PactUriOptions("***", "***"));

pactPublisher.PublishToBroker($"..\pacts\userservice.api-event.api.json",
                        "1.0.2");

在提供方(同样在C#dotnet内核中),当我尝试使用单元测试用例(请参见下面的代码)来验证同一发布的Pact时:

[Fact]
public void EnsureEventApiHonoursPactWithConsumer()
{        
    //Arrange
    // createing the "config" object

    //Act / Assert
    IPactVerifier pactVerifier = new PactVerifier(config);

          pactVerifier
            .ProviderState($"{_providerUri}/provider-states")
            .ServiceProvider("Event.API", _providerUri)
            .HonoursPactWith("UserService.API")
       .PactUri("http://domain.pact.dius.com.au/pacts/provider/Event.API/consumer/UserService.API/version/1.0.2", new PactUriOptions("***", "***")).Verify();
}

运行该单元测试时,我遇到了错误

  

PactNet.PactFailureException:Pact验证失败。查看输出   有关详细信息。如果输出为空,请提供自定义   您的测试框架的config.Outputters(IOutput),因为我们无法   写入控制台。在PactNet.Core.PactCoreHost`1.Start()中   C:\ projects \ pact-net \ PactNet \ Core \ PactCoreHost.cs:第139行

     

在Event.Test.EventApiTests.EnsureEventApiHonoursPactWithConsumer()   在C:\ POC \ pact2 \ Event.Api \ Event.Test \ EventAPITests.cs:第55行

     

读取文件错误   http://domain.pact.dius.com.au/pacts/provider/Event.API/consumer/UserService.API/version/1.0.2

     

由于目标计算机处于活动状态,因此无法建立连接   拒绝了。 -为“ domain.pact.dius.com.au”端口80连接(2)   C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb:879:in   `初始化'

     

C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb:879:在   “打开”

     

C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb:879:在   `阻止连接'

     

C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/timeout.rb:74:in   `超时'

     

C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb:878:在   `连接'

     

C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb:863:在   `do_start'

     

C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb:852:在   '开始'

有人可以帮助解决此错误吗? PACT代理服务器不在我的控制范围内。我是从http://pact.dius.com.au/网站上获得的。

1 个答案:

答案 0 :(得分:1)

得到答案。我当时在办公室的代理环境中。它在我家里很好用。另外,我需要点击https(端口443)而不是http(端口80)。