我是编写测试用例以使用gulp,mocha,chai测试我的javascript文件的新手。
我的文件目录
Project
|-- _src
| `-- scripts
| `-- ui
| |-- ChangePos.js
| |-- PosRenderer
| `-- utils
| |-- Element
| `-- Config
`-- test
`-- index.js
utils/ChangePos.js
define(['Config',
'Element',
'PosRenderer'
] {
function() {
//mycode
}
});
它依赖于配置和元素文件。
测试/索引.js
var requirejs = require("requirejs");
var chai = require('chai');
var expect = chai.expect;
requirejs.config({
baseUrl: './../_src/scripts/ui',
paths: {
utils: 'utils'
},
nodeRequire: require,
map: {
'*': {
'NIT.Cookie': 'utils/Element'
}
}
});
describe('almeObjectConfig', function() {
var ele, conf, obj;
before(function (done) {
requirejs(['utils/Config', 'utils/Element'],
function (config, element) {
console.log('Configuration: ' + config);
console.log('Element: ' + element);
ele = element;
conf = config;
done();
});
});
我正在尝试通过指定路径"utils"来加载依赖于元素和配置的 ChangePos。
utils: 'utils'
我可以通过将 baseURL 指定为 baseUrl:'./../_src/scripts/ui/utils'
来显式加载 Element,但这里它只在 ui 文件夹内检查并给出一个未定义的对象。
如果我将所有文件放在 ui 文件夹中,因为它正在考虑基本 URL 并且只查看基本文件夹内部,它会起作用。
我不确定我在这里错过了什么。提前感谢您的帮助。
查看您的配置,我看不到任何允许ChangePos
像Element
一样加载utils/Element
并像Config
一样utils/Config
加载的内容。特别是,paths
配置'utils': 'utils'
不执行此操作,并且对您拥有的特定配置没有任何作用。要获得您必须工作的代码,您必须paths
:
paths: {
'Config': 'utils/Config',
'Element': 'utils/Element'
}