我正在尝试将Jasmine(v2.3.4)集成到骨干js应用程序中,根据网络中的一些示例和文档。从以下链接中提到的一些内容。
http://kilon.org/blog/2012/08/testing-backbone-requirejs-applications-with-jasmine/ http://www.joezimjs.com/javascript/setting-up-a-jasmine-unit-testing-environment-with-testem/
所有步骤都已明确实施,但我收到以下类型错误“未捕获的TypeError:无法在jasmine-html.js HtmlReporter函数中读取未定义的属性'env'。
我看到HtmlReporter采用了一个选项参数,但我不确定要传递给这个方法的内容。感谢您对此主题的任何帮助。
我已将以下代码放入我的require配置中 - 'jasmine':{ 出口:'茉莉花' }, 'jasmine-html':{ deps:['jasmine'], 出口:'茉莉花' }, “新兵”:{ DEPS:[ “茉莉”], 出口:'茉莉花' }
require([],function(){
var jasmineEnv = jasmine.getEnv();
jasmineEnv.updateInterval = 1000;
var htmlReporter = new jasmine.HtmlReporter(); // ***this is leading to Uncaught TypeError: Cannot read property 'env' of undefined***
jasmineEnv.addReporter(htmlReporter);
jasmineEnv.specFilter = function(spec) {
return htmlReporter.specFilter(spec);
};
var specs = [];
specs.push('SearchSpec');
$(function(){
require(specs, function(){
jasmineEnv.execute();
});
});
});
答案 0 :(得分:1)
尝试
journey_id
;
require.config({
paths:{
jasmine: 'path/jasmine',
'jasmine-html': 'path/jasmine-html',
'jasmine-boot': 'path/boot',
},
shim:{
'jasmine-html': {
deps: ['jasmine'],
},
'jasmine-boot': {
deps: ['jasmine', 'jasmine-html'],
},
})
require(['jasmine-boot'], function () {
require([
'spec'
], function(){
//trigger Jasmine
window.onload();
});
});
答案 1 :(得分:0)
<script data-main="/js/main" src="/js/lib/require.js"></script>
<script type="text/javascript">
require([
'test/spec/collections/companyCollection.spec',
'test/spec/models/companyDivisionsModel.spec'
], function () {
window.onload();
});