【发布时间】:2017-05-02 12:48:09
【问题描述】:
我们正在使用 karma-pact 插件来运行我们的 pact JS 客户端测试,基于来自 https://github.com/pact-foundation/pact-js/blob/master/karma/mocha/client-spec.js 的示例。
在示例中,before() 中存在超时,我相信在运行测试之前确保模拟服务已启动(请参阅“较慢的 Travis CI 构建所需的注释”)。
我不愿意在我们的测试中设置固定超时,因为在不同的环境(例如 CI 与本地)中它要么太短要么太长,所以我正在寻找一种方法来检查服务器是否已启动.
我尝试使用 pact API https://github.com/pact-foundation/pact-node#check-if-a-mock-server-is-running ,但是这似乎启动了一个新的模拟服务器,该服务器与 karma-pact 插件启动的服务器冲突(尝试运行 pact 时报告错误:kill ESRCH 错误.createServer().running 从测试中)。
有没有办法确定模拟服务器是否已启动,例如通过等待 URL 变为可用?可能有一种方法可以获取由 karma-pact 插件启动的模拟服务器的引用,以便使用 pact-node API?
【问题讨论】:
标签: javascript mocha.js karma-runner pact