所有pact-js测试都失败并出现相同的错误

时间:2017-02-27 21:49:47

标签: mocha pact

我第一次使用Pact.js进行微服务测试。 我尝试按照以下示例进行操作:

  1. https://github.com/lucasmajerowicz/pact-node-example

  2. https://github.com/pact-foundation/pact-js/tree/master/examples/e2e

  3. https://github.com/pact-foundation/pact-js/tree/master/examples/mocha

  4. 在例3中;我导航到测试文件夹并运行mocha index.spec.js 但它会引发以下错误:

    [2017-02-27T21:37:52.426Z]  INFO: pact-node@4.8.0/38629 on Meliss-MacBook-Pro.local: Creating Pact with PID: 38630
        1) "before all" hook
        2) "after all" hook
    
    
      0 passing (2s)
      2 failing
    
      1) The Dog API "before all" hook:
         Error: timeout of 2000ms exceeded. Ensure the done() callback is being called in this test.
    
    
      2) The Dog API "after all" hook:
         Error: connect ECONNREFUSED 127.0.0.1:8989
          at Object.exports._errnoException (util.js:1022:11)
          at exports._exceptionWithHostPort (util.js:1045:20)
          at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1087:14)
    

    它会按预期创建logpact个文件夹,但它既不会在pact文件夹中创建pact.json文件,也不会在日志文件夹中记录文件。

    让我更加困惑的是我在示例1和2中得到了完全相同的错误。 这告诉我,我有一个问题,但我不知道它是什么。 有人可以帮我调试这个问题吗?

1 个答案:

答案 0 :(得分:1)

请试试以下内容吗?

  1. 增加测试超时(目前为2秒)
  2. 在任何document.addEventListener('DOMContentLoaded', function () { fun1(); // call it when the DOM content is loaded. document.getElementById('btn1').addEventListener('click', fun2); }); 声明中设置logLevel: 'DEBUG'
  3. 重新运行测试
  4. 并向我们提供输出的要点。

    似乎Ruby模拟服务器没有启动或超过2秒,并且节点进程正在等待它出现。

    如果这不起作用,请尝试手动启动模拟服务pact({...}),当它出现时,运行命令./node_modules/bin/pact-mock-service --port 1234,以便我们可以看到它绑定到的网络。