2014-12-29 1 views
1

Я действительно очень хочу, чтобы jasmine-jquery работал с жасмином. Мало того, что он будет манипулировать DOM ветерок, но он также предоставит мне массу полезных помощников.Определить не определено

Однако, это дает мне эту ошибку, когда я пытаюсь начать свою спецификацию бегуна:

ReferenceError: Can't find variable: define 
    at /.../app/vendor/assets/bower_components/jquery/src/jquery.js:37 

Любая идея, что это значит? Я использую Karma для запуска своих спецификаций. Вот мой unit.js конфигурации:

module.exports = function(config) { 
    config.set({ 
    basePath: '..', 

    // frameworks to use 
    frameworks: ['jasmine'], 
    urlRoot: '/_karma_/', 

    // list of files/patterns to load in the browser 
    files: [ 
     'vendor/assets/bower_components/angular/angular.js', 
     'vendor/assets/bower_components/angular-mocks/angular-mocks.js', 
     'vendor/assets/bower_components/angular-resource/angular-resource.js', 
     'vendor/assets/bower_components/angular-cookies/angular-cookies.js', 
     'vendor/assets/bower_components/angular-sanitize/angular-sanitize.js', 
     'vendor/assets/bower_components/angular-route/angular-route.js', 
     'vendor/assets/bower_components/jquery/src/jquery.js', // added this first 
     'vendor/assets/jasmine-jquery.js',      // and then this... 
     'vendor/assets/bower_components/jasmine-jquery/lib/jasmine-jquery.js', 
     'app/assets/javascripts/application.js.coffee', 
     'app/assets/javascripts/**/**', 
     'spec/javascripts/**/*' 
    ], 

    // list of files to exclude 
    exclude: [ 

    ], 


    // test results reporter to use 
    // possible values: 'dots', 'progress', 'junit', 'growl', 'coverage' 
    reporters: ['dots'], 


    // web server port 
    port: 9876, 


    // enable/disable colors in the output (reporters and logs) 
    colors: true, 


    // level of logging 
    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG 
    logLevel: config.LOG_INFO, 

     autoWatch: true, 

    plugins : [ 
     'jasmine-given', 
     'requirejs', 
     'karma-chrome-launcher', 
     'karma-firefox-launcher', 
     'karma-opera-launcher', 
     'karma-jasmine', 
     'karma-ng-scenario', 
     'karma-phantomjs-launcher', 
     'karma-coffee-preprocessor' 
    ], 

    browsers: ['PhantomJS','Chrome','Firefox','Opera'], 


    // If browser does not capture in given timeout [ms], kill it 
    captureTimeout: 60000, 


    // Continuous Integration mode 
    // if true, it capture browsers, run tests and exit 
    singleRun: false, 

    // Preprocessors 
    preprocessors: { 
     '/**/*.coffee':'coffee', 
     '**/*.slim': ['slim', 'ng-html2js'] 
    } 
    /* 
    ngHtml2JsPreprocessor: { 
     stripPrefix: 'app/assets/templates/', 
     stripSufix: '.slim' 
    } 
    */ 
    }); 

Все, что я сделал, per the instructions это загрузить JQuery, загрузить жасмин-JQuery, а затем требуют их в файле спецификации Кармы:

files: [ 
     'vendor/assets/bower_components/jquery/src/jquery.js', // added this first 
     'vendor/assets/jasmine-jquery.js',      // and then this... 
     ] 

Но JQuery продолжает давать мне что undefined не определена ошибка.

Я не получаю никаких предупреждений от кармы о неправильных путях.

Так как я могу получить jasmine-jquery?

Может ли необходимость иметь какое-то отношение к тому, чтобы заставить его работать?

ответ

0

Как указано в the response to this question, вам необходимо убедиться, что вы npm загрузите жасминовый запрос. Вам необходимо изменить следующее: karma.conf.js:

frameworks: ['jasmine-jquery', 'jasmine'] 
Смежные вопросы