我是使用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
}
});
它依赖于Config和Element文件。
测试/ index.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并且仅查看基本文件夹内部。
我不确定我在这里错过了什么。 感谢您的帮助。
答案 0 :(得分:0)
查看您的配置,我发现任何内容都不允许ChangePos
将utils/Element
Element
和utils/Config
加载为Config
。特别是,paths
配置'utils': 'utils'
不会执行此操作,并且对您具有的特定配置不执行任何操作。要获得必须使用的代码,您必须paths
为:
paths: {
'Config': 'utils/Config',
'Element': 'utils/Element'
}