我正在尝试让sample框架(任何变体)运行以进行合同测试。最初的计划仅仅是获得示例,提供运行,然后稍后对端点进行更改,并根据我们自己的目的进行定制。
PACT基金会链接: https://github.com/pact-foundation/pact-js/tree/master/karma/mocha环境:
Win 7 Node: v8.11.4依赖项已安装:“@pact-基础/业力-契约”:{“版本”:"2.1.8",“@pact-基础/契约-节点”:{“版本”:"6.19.11",
当我试图让它运行时,我得到了跟随错误。

命令: karma start karma.conf.js
C:\VarProjects\VanillaMocha>karma start test/karma.conf.js10 09 2018 09:53:34.544:ERROR config: File C:\VarProjects\VanillaMocha\test\karma.conf.js不存在!
C:\VarProjects\VanillaMocha>karma start karma.conf.js 2018-09-10T08:53:42.384Z INFO: W5167037上的pact-node@6.19.11/16892 :创建带有选项的karma.conf.js服务器:端口= 1234,使用者= KarmaMochaConsumer,提供者= KarmaMochaProvider,logLevel =调试,日志= C:\VarProjects\VanillaMocha\logs\pact.log,dir =C:\VarProjects\VanillaMocha\ Pact,pactFileWriteMode =改写,ssl = false,cors = false,主机= localhost 2018-09-10T08:53:42.401Z信息: pact-node@6.19.11/16892 on W5167037: Created W5167037服务-端口'1234‘-消费者'KarmaMochaConsumer’-提供者'KarmaMochaProvider‘-日志级’调试‘-日志'C:\VarProjects\VanillaMocha\logs\pact.log’--pact_dir‘C:\VarProjects\VanillaMocha\pact’Pact -文件-写模式'overwri te‘-主机’localhost‘进程的PID: 18912 10 09 2018 09:53:44.980:INFO pact: pact:pact服务器运行在端口上: 1234 10 09 2018 09:53:45.054:警告观察者:模式"C:/dist-web/pact-web.js“不匹配任何文件。10 09 2018 09 :53:45.092:信息因果报应: Karma v3.0.0服务器启动于http://0.0.0.0:9876/ 10 09 2018 09:53:45.093:INFO启动器:启动具有无限并发性的浏览器PhantomJS_without_security 10 09 2018 :53:45.101:INFO启动浏览器PhantomJS 10 09 2018 09:53:46.811:INFO PhantomJS 2.1.1 (Windows70.0.0):在套接字qMhVUJZzdDCD_YuKAAAA上连接id 47921548 PhantomJS 2.1.1 (Windows7.0.0.0)所有“钩子失败都找不到变量: Pact client-spec.js:10:32 PhantomJS 2.1.1 (Windows70.0.0)客户端”毕竟“钩子失败未定义不是一个对象(评估'provider.finalize') client-spec.js:21:28 PhantomJS 2.1.1 (Windows70.0.0):执行2/4 (2失败)错误(0.013秒/ 0.001秒)2018年-09-10T08:53:46.985Z信息: pact-node@6.19.11/16892 on W5167037:删除所有协议服务器。2018-09-10T08:53:46.986Z信息: Pact节点@6.19.11/16892 on W5167037:删除PID协议: 18912
C:\VarProjects\VanillaMocha>KARMA start 2018-09-10T08:54:14.809Z信息:W5167037上的pact-node@6.19.11/7492 :创建带有选项的协议服务器:端口= 1234,使用者= KarmaMochaConsumer,provider = KarmaMochaProvider,logLevel =调试,log = C:\VarProjects\VanillaMocha\logs\pact.log,dir =C:\VarProjects\VanillaMocha\ Pact,pactFileWriteMode =改写,ssl = false,cors = false,主机= localhost 2018-09-10T08:54:14.823 Z INFO: pact-node@6.19.11/7492 on W5167037: Created W5167037服务-端口'1234‘-消费者'KarmaMochaConsumer’-提供者'KarmaMochaProvider‘-日志级’调试‘-日志'C:\VarProjects\VanillaMocha\logs\pact.log’-pact_dir‘C:\VarProjects\VanillaMocha\pact’Pact -文件-写模式'overwrit e‘-宿主’localhost‘进程的PID: 2920 10 09 2018 09 :54:17.376:信息协议: pact: pact服务器运行在端口上: 1234 10 09 2018 09 09:54:17.447:警告观察者:模式"C:/dist-web/pact-web.js“不匹配任何文件。10 09 2018 09 :54:17.483:信息业力: Karma v3.0.0服务器启动于http://0.0.0.0:9876/ 10 09 2018 09:54:17.484:INFO启动浏览器PhantomJS_without_security与无限并发10 09 2018 09:54:17.489:INFO启动浏览器PhantomJS 10 09 2018 09:54:19.243:INFO PhantomJS 2.1.1 (Windows70.0.0):连接在socket rn上所有“钩子失败都找不到变量: Pact client-spec.js:10:32 PhantomJS 2.1.1 (Windows70.0.0)客户端”毕竟“钩子失败未定义不是对象(计算'provider.finalize') client-spec.js:21:28 PhantomJS 2.1.1 (Windows70.0.0):执行2/4 (2失败)错误(0.012秒/0秒)
请告诉我,非常感谢
发布于 2018-09-13 00:47:05
代码失败了,因为它缺少pact-web。您可以在包含的错误消息中看到这一点:
Pattern "C:/dist-web/pact-web.js" does not match any file. 之所以会发生这种情况,是因为您在示例存储库之外使用示例karma.conf.js而不进行修改。
引用karma.conf.js的相关部分
// if you are using this example to setup your own project
// load pact from the node_modules directory
'../../dist-web/pact-web.js',
// Example Using NPM package
// 'node_modules/@pact-foundation/pact-web/pact-web.js',查看您的目录结构,注释这一行:
'../../dist-web/pact-web.js',并取消这一行的评论:
// 'node_modules/@pact-foundation/pact-web/pact-web.js',应该能解决你的问题。
请注意,您还需要确保@pact-foundation/pact-web是开发依赖项:
npm install --save-dev '@pact-foundation/pact-web'https://stackoverflow.com/questions/52254574
复制相似问题