Karma没有认识到jQuery

时间:2015-06-15 16:46:43

标签: javascript jasmine automated-tests karma-runner karma-jasmine

我正在使用Phantomjs和Karma进行Jasmine测试。

一旦karma在我的包含脚本中达到jquery,我就会收到错误。

但我已将其包含在我的files: []部分中。

这是我的karma.config.js文件的样子

// Karma configuration

module.exports = function(config) {
  config.set({

    basePath: '',


    frameworks: ['jasmine-jquery','jasmine'],


    // list of files / patterns to load in the browser
    files: [

       'resources/assets/bower/jquery/dist/jquery.js',
       'resources/assets/bower/jquery-ui/jquery-ui.min.js',

      // I tried loading them in with a CDN also
       //"https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js",
      //"https://code.jquery.com/ui/1.11.2/jquery-ui.js",

      'public/js/vendor.js',
      'spec/mainjsTests/*.js',
      'spec/javascripts/fixtures/*.css',

      // fixtures
  {
    pattern: 'spec/javascripts/fixtures/*.html',
    watched: true,
    included: true,
    served: true
  }
    ],

    exclude: [
    ],

    preprocessors: {
    },

    reporters: ['progress'],

    port: 9876,

    colors: true,

    logLevel: config.LOG_INFO,

    autoWatch: true,

    browsers: ['PhantomJS'],

    plugins: [
              'karma-*'
             ],

    singleRun: false
  });
};

我的所有JS文件都内置在供应商文件中,所以我只是链接了那个。它们按照从我的Gulp文件中调用的顺序列出。

一旦Karma到达jQuery的第一行,就会出错。

$ karma start karma.conf.js
INFO [karma]: Karma v0.12.36 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 1.9.8 (Mac OS X 0.0.0)]: Connected on socket sHWba0Xi_dR9PuTbDdhx with id 19415635
PhantomJS 1.9.8 (Mac OS X 0.0.0) ERROR
  TypeError: 'null' is not an object (evaluating 'document.getElementById('uploadFile').files')
  at /Users/me/PersonalProjects/HSAnnotator/public/js/vendor.js:2975

我通过注释掉这一行来测试它,然后在jQuery的下一行出错。

除了jQuery之外的所有内容都是用npm安装的,只有jquery安装了bower。我不认为这很重要,因为我也尝试过CDN链接,这让我相信我的karma.config文件中列出的其他内容是错误的。

0 个答案:

没有答案