Karma/jasmine/pact-js 使用 requirejs 的例子
Karma/jasmine/pact-js example using requirejs
我正在研究 karma/jasmine example。它按原样工作正常。我需要让它与 requirejs 一起工作。当我引入 requirejs 并将客户端和客户端规范 类 转换为 AMD 时,我开始收到此错误:
PhantomJS 2.1.1 (Windows 7 0.0.0) 客户端 sayHello 应该打招呼失败
类型错误:undefined 不是 js/client-spec.js 中的构造函数(评估 'Pact')(第 11 行)
js/client-spec.js:11:28
看问题可以看my example project。给运行吧:
- 解压上面示例项目中的 zip 文件
- 从 PactTest 目录,运行:
npm 安装
- 完成后,运行:
npm 运行 test:client
干杯,
麦克
您需要将模块名称设置为 "Pact" 而不是 "pact-web"。 requirejs 好像找不到匹配的模块名
在 client-spec.js
中将 define
更改为:
define(['client', 'Pact'], function (example, Pact) {
在test-main.js
中更新配置如下:
require.config({
baseUrl: '/base',
paths: {
// 'pact-web': 'node_modules/pact-web/pact-web', <-- not this
'Pact': 'node_modules/pact-web/pact-web',
'client': 'js/client'
},
deps: allTestFiles,
callback: window.__karma__.start
})
诚然,我并不完全理解 RequireJS 的来龙去脉,但这确实有效。
我更新了 Pact documentation 以包含关于此的注释。
这是一个 link 更新的 Gist 以供将来参考:https://gist.github.com/mefellows/15c9fcb052c2aa9d8951f91d48d6da54
我正在研究 karma/jasmine example。它按原样工作正常。我需要让它与 requirejs 一起工作。当我引入 requirejs 并将客户端和客户端规范 类 转换为 AMD 时,我开始收到此错误:
PhantomJS 2.1.1 (Windows 7 0.0.0) 客户端 sayHello 应该打招呼失败 类型错误:undefined 不是 js/client-spec.js 中的构造函数(评估 'Pact')(第 11 行) js/client-spec.js:11:28
看问题可以看my example project。给运行吧:
- 解压上面示例项目中的 zip 文件
- 从 PactTest 目录,运行: npm 安装
- 完成后,运行: npm 运行 test:client
干杯, 麦克
您需要将模块名称设置为 "Pact" 而不是 "pact-web"。 requirejs 好像找不到匹配的模块名
在 client-spec.js
中将 define
更改为:
define(['client', 'Pact'], function (example, Pact) {
在test-main.js
中更新配置如下:
require.config({
baseUrl: '/base',
paths: {
// 'pact-web': 'node_modules/pact-web/pact-web', <-- not this
'Pact': 'node_modules/pact-web/pact-web',
'client': 'js/client'
},
deps: allTestFiles,
callback: window.__karma__.start
})
诚然,我并不完全理解 RequireJS 的来龙去脉,但这确实有效。
我更新了 Pact documentation 以包含关于此的注释。
这是一个 link 更新的 Gist 以供将来参考:https://gist.github.com/mefellows/15c9fcb052c2aa9d8951f91d48d6da54