【问题标题】:While running Pact- Karma-Mocha framework, getting error - 'Can't find variable: Pact'运行 Pact-Karma-Mocha 框架时,出现错误 - “找不到变量:Pact”
【发布时间】:2019-02-14 16:45:35
【问题描述】:

我正在尝试为合同测试运行示例 PACT JS 框架(任何变体)。最初的计划只是让提供的示例运行起来,然后再对 Endpoint 进行更改并为我们自己的目的进行定制。

PACT Foundation link: https://github.com/pact-foundation/pact-js/tree/master/karma/mocha 环境:

赢 7 节点:v8.11.4 安装的依赖项: “@pact-foundation/karma-pact”:{ “版本”:“2.1.8”, “@pact-foundation/pact-node”:{ “版本”:“6.19.11”,

我在尝试运行时遇到以下错误。

命令:karma start karma.conf.js

C:\VarProjects\VanillaMocha>karma start test/karma.conf.js

10 09 2018 09:53:34.544:ERROR [config]: 文件 C:\VarProjects\VanillaMocha\test\karma.conf.js 不存在!

C:\VarProjects\VanillaMocha>karma start karma.conf.js [2018-09-10T08:53:42.384Z] 信息:W5167037 上的 pact-node@6.19.11/16892: 使用选项创建 Pact Server: 端口 = 1234, 消费者= KarmaMocha消费者, 提供者 = KarmaMochaProvider, 日志级别 = 调试, 日志 = C:\VarProjects\VanillaMocha\logs\pact.log, 目录 = C:\VarProjects\VanillaMocha\pacts, pactFileWriteMode = 覆盖, ssl = 假, cors =假, 主机 = 本地主机 [2018-09-10T08:53:42.401Z] INFO: pact-node@6.19.11/16892 on W5167037: Created 'standalone\win32-1.54.4\bin\pact-mock-service.bat service --port'第1234章 ' --provider 'KarmaMochaProvider' --log-level 'DEBUG' --log 'C:\VarProjects\VanillaMocha\logs\pact.log' --pact_dir 'C:\VarProjects\VanillaMocha\pacts' --pact-file -write-mode '覆盖 te' --host 'localhost'' 进程,PID:18912 10 09 2018 09:53:44.980:INFO [pact]:在端口上运行的 Pact Mock 服务器:1234 10 09 2018 09:53:45.054:WARN [watcher]:模式“C:/dist-web/pact-web.js”不匹配任何文件。 2018 年 10 月 9 日 09:53:45.092:INFO [业力]:业力 v3.0.0 服务器开始于 http://0.0.0.0:9876/ 2018 年 10 月 9 日 09:53:45.093:INFO [启动器]:以无限并发启动浏览器 PhantomJS_without_security 2018 年 10 月 9 日 09:53:45.101:INFO [启动器]:启动浏览器 PhantomJS 10 09 2018 09:53:46.811:INFO [PhantomJS 2.1.1 (Windows 7 0.0.0)]: 连接在套接字 qMhVUJZzdDCD_YuKAAAA 上,id 为 47921548 PhantomJS 2.1.1(Windows 7 0.0.0)客户端“首先”挂钩失败 找不到变量:Pact 客户端-spec.js:10:32 PhantomJS 2.1.1(Windows 7 0.0.0)客户端“毕竟”挂钩失败 undefined 不是对象(评估 'provider.finalize') 客户端-spec.js:21:28 PhantomJS 2.1.1 (Windows 7 0.0.0): 执行 2 of 4 (2 FAILED) 错误 (0.013 secs / 0.001 secs) [2018-09-10T08:53:46.985Z] 信息:W5167037 上的 pact-node@6.19.11/16892:删除所有 Pact 服务器。 [2018-09-10T08:53:46.986Z] 信息:W5167037 上的 pact-node@6.19.11/16892:使用 PID 删除 Pact:18912

C:\VarProjects\VanillaMocha>KARMA 开始 [2018-09-10T08:54:14.809Z] 信息:W5167037 上的 pact-node@6.19.11/7492: 使用选项创建 Pact Server: 端口 = 1234, 消费者= KarmaMocha消费者, 提供者 = KarmaMochaProvider, 日志级别 = 调试, 日志 = C:\VarProjects\VanillaMocha\logs\pact.log, 目录 = C:\VarProjects\VanillaMocha\pacts, pactFileWriteMode = 覆盖, ssl = 假, cors =假, 主机 = 本地主机 [2018-09-10T08:54:14.823Z] INFO: pact-node@6.19.11/7492 on W5167037: Created 'standalone\win32-1.54.4\bin\pact-mock-service.bat service --port'第1234章 --provider 'KarmaMochaProvider' --log-level 'DEBUG' --log 'C:\VarProjects\VanillaMocha\logs\pact.log' --pact_dir 'C:\VarProjects\VanillaMocha\pacts' --pact-file- write-mode '覆盖 e' --host 'localhost'' 进程,PID:2920 10 09 2018 09:54:17.376:INFO [pact]: Pact Mock Server 在端口上运行:1234 10 09 2018 09:54:17.447:WARN [watcher]:模式“C:/dist-web/pact-web.js”不匹配任何文件。 2018 年 10 月 9 日 09:54:17.483:INFO [业力]:业力 v3.0.0 服务器开始于 http://0.0.0.0:9876/ 2018 年 10 月 9 日 09:54:17.484:INFO [启动器]:以无限并发启动浏览器 PhantomJS_without_security 2018 年 10 月 9 日 09:54:17.489:INFO [启动器]:启动浏览器 PhantomJS 10 09 2018 09:54:19.243:INFO [PhantomJS 2.1.1 (Windows 7 0.0.0)]: 连接到套接字 rn-kwBRGhJbyUwvZAAAA,id 为 54614606 PhantomJS 2.1.1(Windows 7 0.0.0)客户端“首先”挂钩失败 找不到变量:Pact 客户端-spec.js:10:32 PhantomJS 2.1.1(Windows 7 0.0.0)客户端“毕竟”挂钩失败 undefined 不是对象(评估 'provider.finalize') 客户端-spec.js:21:28 PhantomJS 2.1.1 (Windows 7 0.0.0): Executed 2 of 4 (2 FAILED) ERROR (0.012 secs / 0 secs)

请多多指教,万分感谢

【问题讨论】:

  • C:\VarProjects\VanillaMocha\test\karma.conf.js 是否存在?该错误表明它没有。最好发布一个可重现的 github 存储库,以便人们可以提供帮助。

标签: rest karma-runner pact


【解决方案1】:

代码失败,因为它缺少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'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多