我今天花了足够的时间尝试创建单元测试来覆盖我作为amd模块编写的js模块。不幸的是,我放弃了
当然,你不能只是require
你的js文件,因为define
函数将是未定义的。
我按照以下行运行我的测试脚本:
casperjs test test.js
然后,我尝试将所有脚本注入空白页面并对其进行评估:
var
casper = require("casper").create({
clientScripts: [
'require.js',
'config.js',
'MyJSClass.js'
],
logLevel: "debug",
verbose: true
});
casper.test.begin('charts created', 1, function(test) {
casper.start().then(function() {
require('utils').dump(this.evaluate(function() {
return this.requirejs('MyJSClass');
}));
})
.run(function() {
test.done();
});
});
结果是null
。
之后我创建了一个空的html文件并在那里加载了所有脚本。结果是相同的=(我无法让我的模块进行测试
有什么想法吗?
P.S。 casper ver 1.1-dev,phantomjs 1.9.2