2015-01-04 1 views
1

Я пытаюсь проверить мой контроллер AngularJS с помощью Jasmine в RubyMine.Испытание AngularJS-контроллера с жасмином вызывает ошибку в RubyMine

Здесь мой тест

'use strict';

describe('MainCtrl', function(){ var scope;

beforeEach(module('myModule'));

beforeEach(inject(function($rootScope) { scope = $rootScope.$new(); }));

it('should define more than 5 awesome things', inject(function($controller) { expect(scope.awesomeThings).toBeUndefined();

$controller('MainCtrl', { 
    $scope: scope 
}); 

expect(angular.isArray(scope.awesomeThings)).toBeTruthy(); 
expect(scope.awesomeThings.length > 5).toBeTruthy(); })); }); 

Я использую Карма для выполнения этого теста. Для конфигурирования RubyMine для выполнения тестов я сделал все, как это было написано в этих учебных пособиях https://www.jetbrains.com/ruby/webhelp/preparing-to-use-karma-test-runner.html https://www.jetbrains.com/ruby/webhelp/running-unit-tests-on-karma.html

Вот моя карма конфигурационного файл

'use strict';

module.exports = function(config) {

config.set({ autoWatch : false,

frameworks: ['jasmine'], 

browsers : ['PhantomJS'], 

plugins : [ 
    'karma-phantomjs-launcher', 
    'karma-jasmine' 
] }); }; 

Но я получил эту ошибку, когда я попытался запустить мой тест

src/app/main/main.controller.spec.js:3 describe('MainCtrl', function(){^ReferenceError: describe is not defined

at Object.<anonymous> (src/app/main/main.controller.spec.js:3:1) 
at Module._compile (module.js:456:26) 
at Object.Module._extensions..js (module.js:474:10) 
at Module.load (module.js:356:32) 
at Function.Module._load (module.js:312:12) 
at Function.Module.runMain (module.js:497:10) 
at startup (node.js:119:16) 
at node.js:929:3 

Как это исправить? Я был бы рад любой помощи.

+0

Выполняете ли вы свой тест с помощью бегуна Karma или бегуна узла? – Vadim

+0

Я думал, что я использовал бегуна Karma, но на самом деле это был узел бегун. Дурак я! Но теперь у меня есть проблема, поскольку бегун Karma не находит мой тест, и я получаю «Empty test suite» –

ответ

1

В дополнение к использованию бегуна кармы. Вам необходимо добавить что-то вроде следующего в вашу конфигурацию:

files: [ 
    'bower_components/angular/angular.js', 
    'bower_components/angular-mocks/angular-mocks.js', 
    'js/**/*.js', 
    '../../specs/*.js' 
], 

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

0

Добавьте это в свои плагины 'karma-spec-reporter', а затем вы сможете запустить его - я считаю, что он терпит неудачу, потому что он ищет репортера спецификации.

+0

Я добавил «репортер» к моим плагинам, но, к сожалению, этот трюк не работает для меня. –