У меня есть приложение, которое отлично работает. Кто-то другой реорганизовал некоторые вещи и добавил беседу для зависимостей для этого и других связанных проектов. С тех пор модульные тесты терпят неудачу. Теперь я пытаюсь это исправить.Karma AngularJS тестирование: не найдено никаких тестов, описать(), как представляется, не существует
Когда я начал, у меня была куча неудачных модульных тестов. Я запустил беседу для установки зависимостей, но теперь никаких модульных тестов не запускается вообще. Когда я смотрю исходный код моих модульных тестов, моя IDE (IntelliJ) не распознает функции describe()
, beforeEach()
и it()
. Он распознает module()
и inject()
(оба от угловых-насмешек).
Вот мой karma.conf.js:
module.exports = function (config) {
config.set({
basePath: '../',
frameworks: ['jasmine'],
files: [
'app/lib/jquery/jquery.min.js',
'app/lib/angular/angular.js',
'app/lib/angular-*/angular-*.js',
'app/lib/mylib-core/build/js/global.js',
'app/lib/mylib-components/build/js/components.js',
'app/js/*.js',
'app/js/**/*.js',
'test/unit/**/*Spec.js',
'test/mocks/mockdata.js'
],
plugins: [
'karma-jasmine',
'karma-junit-reporter',
'karma-coverage',
'karma-chrome-launcher',
'karma-phantomjs-launcher'
],
exclude: [
],
reporters: ['progress', 'coverage'],
preprocessors: {
'app/js/**/*.js': 'coverage'
},
coverageReporter: {
type: 'html',
dir: 'coverage'
},
colors: true,
logLevel: config.DEBUG,
autoWatch: true,
browsers: ['PhantomJS'],
captureTimeout: 60000,
singleRun: false
}
);
};
Выход из моих модульных тестов:
C:\Workset\tools\nodejs\node.exe C:\Workset\tools\npm\node_modules\karma\bin\karma start config/karma.conf.js
DEBUG [plugin]: Loading plugin karma-jasmine.
DEBUG [plugin]: Loading plugin karma-junit-reporter.
DEBUG [plugin]: Loading plugin karma-coverage.
DEBUG [plugin]: Loading plugin karma-chrome-launcher.
DEBUG [plugin]: Loading plugin karma-phantomjs-launcher.
DEBUG [plugin]: Loading inlined plugin (defining).
INFO [karma]: Karma v0.10.4 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
DEBUG [launcher]: Creating temp dir at C:\foo\Temp\karma-38315490
DEBUG [launcher]: C:\Workset\tools\npm\node_modules\karma-phantomjs-launcher\node_modules\phantomjs\lib\phantom\phantomjs.exe C:\foo\Temp\karma-38315490/capture.js
DEBUG [preprocessor.coverage]: Processing "C:/workspace/myproject/app/js/myproject.js".
DEBUG [preprocessor.coverage]: Processing "C:/workspace/myproject/app/js/controllers/FooController.js".
DEBUG [preprocessor.coverage]: Processing "C:/workspace/myproject/app/js/directives/fooRating.js".
DEBUG [preprocessor.coverage]: Processing "C:/workspace/myproject/app/js/myproject.js".
DEBUG [preprocessor.coverage]: Processing "C:/workspace/myproject/app/js/services/fooService.js".
DEBUG [watcher]: Resolved files:
C:/Workset/tools/npm/node_modules/karma-jasmine/lib/jasmine.js
C:/Workset/tools/npm/node_modules/karma-jasmine/lib/adapter.js
C:/workspace/myproject/app/lib/jquery/jquery.min.js
C:/workspace/myproject/app/lib/angular/angular.js
C:/workspace/myproject/app/lib/angular-animate/angular-animate.js
C:/workspace/myproject/app/lib/angular-animate/angular-animate.min.js
C:/workspace/myproject/app/lib/angular-cookies/angular-cookies.js
C:/workspace/myproject/app/lib/angular-cookies/angular-cookies.min.js
C:/workspace/myproject/app/lib/angular-loader/angular-loader.js
C:/workspace/myproject/app/lib/angular-loader/angular-loader.min.js
C:/workspace/myproject/app/lib/angular-mocks/angular-mocks.js
C:/workspace/myproject/app/lib/angular-resource/angular-resource.js
C:/workspace/myproject/app/lib/angular-resource/angular-resource.min.js
C:/workspace/myproject/app/lib/angular-route/angular-route.js
C:/workspace/myproject/app/lib/angular-route/angular-route.min.js
C:/workspace/myproject/app/lib/angular-sanitize/angular-sanitize.js
C:/workspace/myproject/app/lib/angular-sanitize/angular-sanitize.min.js
C:/workspace/myproject/app/lib/angular-scenario/angular-scenario.js
C:/workspace/myproject/app/lib/angular-touch/angular-touch.js
C:/workspace/myproject/app/lib/angular-touch/angular-touch.min.js
C:/workspace/myproject/app/js/myproject.js
C:/workspace/myproject/app/js/controllers/FooController.js
C:/workspace/myproject/app/js/directives/fooRating.js
C:/workspace/myproject/app/js/services/fooService.js
C:/workspace/myproject/test/unit/controllers/fooControllerSpec.js
C:/workspace/myproject/test/unit/directives/fooRatingSpec.js
C:/workspace/myproject/test/unit/services/fooServiceSpec.js
C:/workspace/myproject/test/mocks/mockdata.js
DEBUG [watcher]: Watching "C:/workspace/myproject/app/lib/jquery/jquery.min.js"
DEBUG [watcher]: Watching "C:/workspace/myproject/app/lib/angular/angular.js"
DEBUG [watcher]: Watching "C:/workspace/myproject/app/lib"
DEBUG [watcher]: Watching "C:/workspace/myproject/app/js"
DEBUG [watcher]: Watching "C:/workspace/myproject/test/unit"
DEBUG [watcher]: Watching "C:/workspace/myproject/test/mocks/mockdata.js"
DEBUG [web-server]: serving: C:\Workset\tools\npm\node_modules\karma\static/client.html
DEBUG [web-server]: serving: C:\Workset\tools\npm\node_modules\karma\static/karma.js
DEBUG [karma]: A browser has connected on socket 5Njwd5GANrKy9YV2vANC
INFO [PhantomJS 1.9.2 (Windows 7)]: Connected on socket 5Njwd5GANrKy9YV2vANC
DEBUG [karma]: All browsers are ready, executing
DEBUG [web-server]: serving: C:\Workset\tools\npm\node_modules\karma\static/context.html
DEBUG [web-server]: serving: C:/Workset/tools/npm/node_modules/karma-jasmine/lib/jasmine.js
DEBUG [web-server]: serving: C:/Workset/tools/npm/node_modules/karma-jasmine/lib/adapter.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/jquery/jquery.min.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/angular/angular.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/angular-animate/angular-animate.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/angular-animate/angular-animate.min.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/angular-cookies/angular-cookies.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/angular-cookies/angular-cookies.min.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/angular-loader/angular-loader.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/angular-loader/angular-loader.min.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/angular-mocks/angular-mocks.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/angular-resource/angular-resource.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/angular-resource/angular-resource.min.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/angular-route/angular-route.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/angular-route/angular-route.min.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/angular-sanitize/angular-sanitize.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/angular-sanitize/angular-sanitize.min.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/angular-scenario/angular-scenario.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/angular-touch/angular-touch.js
DEBUG [web-server]: serving: C:/workspace/myproject/app/lib/angular-touch/angular-touch.min.js
DEBUG [web-server]: serving: C:\foo\Temp/b172f859347e22405c33fb8b757f7f6380c111f8.js
DEBUG [web-server]: serving: C:\foo\Temp/364a64513852785c67f39bc5bd6bacfd6d007792.js
DEBUG [web-server]: serving: C:\foo\Temp/221e578dd0aa30690853d25857681c2bdfe38fe6.js
DEBUG [web-server]: serving: C:\foo\Temp/75b9b08be8e14ecb83a385484eb40c5b551a3294.js
DEBUG [web-server]: serving: C:/workspace/myproject/test/unit/controllers/fooControllerSpec.js
DEBUG [web-server]: serving: C:/workspace/myproject/test/unit/directives/fooRatingSpec.js
DEBUG [web-server]: serving: C:/workspace/myproject/test/unit/services/fooServiceSpec.js
DEBUG [web-server]: serving: C:/workspace/myproject/test/mocks/mockdata.js
PhantomJS 1.9.2 (Windows 7): Executed 0 of 0 ERROR (0.363 secs/0 secs)
Я могу видеть мои * Spec.js файлы там, а также угловое разрешение mock.js и jasmine.js. И он не дает никаких ошибок, но он считает, что есть 0 тестов (которые, я уверяю вас, не так). Так что здесь не так?
Можете ли вы опубликовать код жасмина? Из моего опыта это может быть просто синтаксическая ошибка где-то, что нарушает javascript. –
. Не следует ли в этом случае забрасывать реальную ошибку? Ошибок не возникает при выполнении моего кода. Но я нашел проблему: угловой сценарий перезаписывает функции регистрации тестовых единиц жасмина (описать и это). – mcv