我正在测试编辑就地模块,我在我的spec文件中有这个:
if (typeof module !== 'undefined' && module.exports) {
var jsdom = require('jsdom').jsdom;
global.document = jsdom('<html></html>', {});
global.window = document.defaultView;
global.jQuery = global.$ = global.window.jQuery = require('jquery');
global.navigator = {
userAgent: ''
};
$.platform = $.platform || {};
require('../runtime/platform/js/modules/platform.editInPlace.js');
require('../runtime/platform/js/modules/platform.formSupport.js');
require('../runtime/vendor/parsleyjs/2.2.0-rc1/dist/parsley.js');
require('../runtime/vendor/bootstrap/3.1.1/js/bootstrap.js');
require('../runtime/vendor/x-editable/1.5.1/bootstrap3-editable/js/bootstrap-editable.js');
require('../runtime/vendor/typeaheadjs/0.9.3/typeahead.js');
require('../runtime/vendor/x-editable/1.5.1/inputs-ext/typeaheadjs/typeaheadjs.js');
require('../runtime/platform/js/modules/platform.utility.js');
}
当我运行grunt测试时:覆盖率(使用instanbul)它会抛出异常(当我初始化编辑就位类型typaheadjs时)。
encountered a declaration exception......×
Error: Unknown type: typeaheadjs in file:///C:/Launchpad/synergy/src/main/resources/runtime/vendor/jquery/2.1.4/jquery.js (line 250) (1)
(第250行是使用指定消息抛出异常的错误函数)
但是当我在添加此代码时从节点调用该规范时,它工作正常:
function describe(str, callback) {
callback();
}
function it(str, callback) {
callback();
}
function expect() {
return {toEqual: function() {}};
}
当我从grunt运行jasmine时,为什么我收到此错误的任何线索?
修改:
我在两个typeahead文件中都包含了console.log,当我从grunt运行时,只显示了第一个,当我从节点运行时它显示。
答案 0 :(得分:0)
我正在使用phantomjs执行规范所以内部的代码:
if (typeof module !== 'undefined' && module.exports) {
}
从未执行过,添加typeaheadjs.js我需要在grunt文件中添加供应商文件。