2013-11-20 2 views
7

Я хочу запустить mySpec.js с кармой в WebStorm 7. Когда я запускаю карму, карма сервер начинает на моем браузере, но в WebStorm я столкнулся эта ошибка:модуля не определен в карме

Это я ошибка «получаю

ReferenceError: module is not defined at null. (C:/Users/Babar/Desktop/angular/test/basic/mySpec.js:2:16) at C:/Users/Babar/Desktop/angular/test/basic/mySpec.js:1:1 Process finished with exit code 0

вот мой конфигурационный файл:

// Karma configuration 
// Generated on Thu Nov 21 2013 03:05:08 GMT-0800 (Pacific Standard Time) 

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

    // base path, that will be used to resolve files and exclude 
    basePath: '', 


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


    // list of files/patterns to load in the browser 
    files: [ 
     'test/basic/mySpec.js' 
    ], 


    // list of files to exclude 
    exclude: [ 

    ], 


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


    // 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, 


    // enable/disable watching file and executing tests whenever any file changes 
    autoWatch: false, 


    // Start these browsers, currently available: 
    // - Chrome 
    // - ChromeCanary 
    // - Firefox 
    // - Opera (has to be installed with `npm install karma-opera-launcher`) 
    // - Safari (only Mac; has to be installed with `npm install karma-safari-launcher`) 
    // - PhantomJS 
    // - IE (only Windows; has to be installed with `npm install karma-ie-launcher`) 
    browsers: ['Chrome'], 


    // 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 
    }); 
}; 

и вот мой mySpec.js:

describe('filter', function(){ 
    beforeEach(module('Babar', [])); 

    describe("reverse", function(){ 
     it("should reverse a string",inject(function(reverseFilter){ 
      expect(reverseFilter("ABCD")).toEqual("DCBA"); 
     })) 
    }) 
}) 

Пожалуйста, дайте мне знать, что делать?

ответ

8

Карма нуждается в том, чтобы вытащить все ваши файлы, с которыми вы работаете. Он использует files коллекцию в конфигурации, чтобы указать, какие файлы для втягивания:

Так что это должен быть расширен:

// list of files/patterns to load in the browser 
files: [ 
    'test/basic/mySpec.js' 
], 

Чтобы что-то вроде этого:

// list of files/patterns to load in the browser 
files: [ 
    'src/lib/angular/angular.js', 
    'src/lib/angular-mocks/angular-mocks.js', 
    'src/js/**/*.js', 
    'test/**/*.js' 
], 

Ошибка указывает на что файл, который определяет модуль Babar, не найден в одном из файлов, настроенных в списке files.

+1

Когда я включил жасмин, JASMINE_ADAPTER, Я получаю эту ошибку ERROR [конфигурации]: Ошибка в конфигурационном файле! [ReferenceError: JASMINE не определен] Итак, я включил файлы jasmine.js и adapter.js , и я получаю эту ошибку ERROR [config]: Ошибка в файле конфигурации! [ReferenceError: JASMINE не определен] Сообщите мне, если у вас есть предложения. – user3012577

+3

Включая JASMINE и JASMINE_ADAPTER в массиве файлов применимо к версиям кармы 0.8.x и ниже. Кажется, вы используете Karma 10, поэтому просто удалите эти 2 строки из массива файлов, так как вы уже загружаете Jasmine в качестве рамки –

Смежные вопросы