错误:未知类型:从grunt jasmine:coverage运行时的typeaheadjs

时间:2016-07-07 12:20:20

标签: javascript node.js gruntjs jasmine x-editable

我正在测试编辑就地模块,我在我的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运行时,只显示了第一个,当我从节点运行时它显示。

1 个答案:

答案 0 :(得分:0)

我正在使用phantomjs执行规范所以内部的代码:

if (typeof module !== 'undefined' && module.exports) {

}

从未执行过,添加typeaheadjs.js我需要在grunt文件中添加供应商文件。