我第一次使用Pact.js进行微服务测试。 我尝试按照以下示例进行操作:
https://github.com/pact-foundation/pact-js/tree/master/examples/e2e
https://github.com/pact-foundation/pact-js/tree/master/examples/mocha
在例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)
它会按预期创建log
和pact
个文件夹,但它既不会在pact文件夹中创建pact.json
文件,也不会在日志文件夹中记录文件。
让我更加困惑的是我在示例1和2中得到了完全相同的错误。 这告诉我,我有一个问题,但我不知道它是什么。 有人可以帮我调试这个问题吗?
答案 0 :(得分:1)
请试试以下内容吗?
document.addEventListener('DOMContentLoaded', function () {
fun1(); // call it when the DOM content is loaded.
document.getElementById('btn1').addEventListener('click', fun2);
});
声明中设置logLevel: 'DEBUG'
并向我们提供输出的要点。
似乎Ruby模拟服务器没有启动或超过2秒,并且节点进程正在等待它出现。
如果这不起作用,请尝试手动启动模拟服务pact({...})
,当它出现时,运行命令./node_modules/bin/pact-mock-service --port 1234
,以便我们可以看到它绑定到的网络。