我正在使用Karma,Jasmine,并尝试使用jasmine-jquery提供的一些自定义匹配器来测试我正在做的一些DOM操作。
我的karma.conf.js中有以下内容:
// Karma configuration
module.exports = function(config) {
config.set({
// base path that will be used to resolve all patterns (eg. files, exclude)
basePath: '',
frameworks: ['jasmine-jquery', 'jasmine'],
files: [
'bower_components/angular/angular.js',
'bower_components/angular-mocks/angular-mocks.js',
'node_modules/jquery/dist/jquery.js',
'src/**/*',
'.tsout/*.js'
],
exclude: [
'**/*.ts',
'**/*.json'
],
preprocessors: {
'.tsout/*.js': 'coverage'
},
reporters: ['progress', 'coverage'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: false,
browsers: ['Chrome'],
plugins: [
'karma-jasmine-jquery',
'karma-jasmine',
'karma-coverage'
],
singleRun: false
});
};
而且,在我的一个.spec.js文件中,我有类似的东西:
describe("DOM Stuffs", function(){
it("should have a DOM element with ID test", function(){
expect($('#test').toBeInDOM());
});
});
Karma没有任何投诉而开火,我以前的所有测试都按预期运行。但是,当它进入此测试时,我得到以下TypeError:
TypeError: $(...).toBeInDOM is not a function at Object.<anonymous>
对我在这里缺少什么的想法?
版本:业力:0.12.33 |茉莉:2.1.1 |业力茉莉:0.3.5 | jasmine-jquery:2.1.0 | karma-jasmine-jquery:0.1.1