Моя карма.конф. js
module.exports = function(config) {
config.set({
basePath: './app',
files: [
'lib/angular/angular.js',
'lib/angular-route/angular-route.js',
'lib/angular-aria/angular-aria.js',
'lib/angular-animate/angular-animate.js',
'lib/angular-messages/angular-messages.js',
'lib/angular-material/angular-material.js',
'lib/angular-mocks/angular-mocks.js',
'lib/angular-material/angular-material-mocks.js',
'**/*.module.js',
'!(lib)/{*module.js,*_test.js}',
'**/*_test.js'
],
autoWatch: true,
frameworks: ['jasmine'],
browsers: ['Chrome'],
plugins: [
'karma-chrome-launcher',
'karma-firefox-launcher',
'karma-jasmine'
]
});
};
Файл store-menu.component. js:
angular.module('storeMenu').component('storeMenu', {
templateUrl: '/store-menu/store-menu.template.html',
controller: ['$scope', function storeMenuController($scope) {
// code
}]
});
И файл store-menu_test. js:
describe('storeMenuController', function() {
beforeEach(module('storeMenu'));
let $controller, $rootScope;
beforeEach(inject(function(_$controller_, _$rootScope_) {
$controller = _$controller_;
$rootScope = _$rootScope_;
}));
describe('menu check', function() {
var $scope;
beforeEach(function() {
$scope = {};
let controller = $controller('storeMenuController', { scope: $scope });
});
});
});
Я запускаю запуск кармы и вижу следующую ошибку:
13 01 2020 14:33:02.886:INFO [Chrome 79.0.3945 (Linux 0.0.0)]: Connected on socket HSbuBkIECXrBULKMAAAA with id 32069697
Chrome 79.0.3945 (Linux 0.0.0) storeMenuController menu check isHide must be true FAILED
Error: [$controller:ctrlreg] The controller with the name 'storeMenuController' is not registered.
https://errors.angularjs.org/1.7.9/$controller/ctrlreg?p0=storeMenuController
Error: [$controller:ctrlreg] The controller with the name 'storeMenuController' is not registered.
https://errors.angularjs.org/1.7.9/$controller/ctrlreg?p0=storeMenuController
at lib/angular/angular.js:138:12
at $controller (lib/angular/angular.js:11680:17)
at lib/angular-mocks/angular-mocks.js:2555:14
at UserContext.<anonymous> (store-menu/store-menu_test.js:15:24)
at <Jasmine>
ReferenceError: except is not defined
at <Jasmine>
at UserContext.<anonymous> (store-menu/store-menu_test.js:18:7)
at <Jasmine>
Chrome 79.0.3945 (Linux 0.0.0): Executed 1 of 1 (1 FAILED) (0.137 secs / 0.106 secs)
TOTAL: 1 FAILED, 0 SUCCESS
Я думаю, что проблема в этих строках:
'**/*.module.js',
'!(lib)/**/{*module.js,*_test.js}',
'**/*_test.js'
Я также пробовал это конфигурация:
'**/*.module.js',
'*!(.module|_test).js',
'!(lib)/**/*!(.module|_test).js',
'**/*_test.js'
Но это не работает, и когда я вхожу в терминал (в арке linux)
[i@pc app]$ ls !(lib)/**/*!(.module|_test).js
ls: cannot access '!(lib)/**/*!(.module|_test).js': No such file or directory
[i@pc app]$ ls !(lib)/{*module.js,*_test.js}
options-menu/options-menu.module.js store-menu/store-menu_test.js
store-menu/store-menu.module.js
, второе выражение работает в терминале, но не работать в карме. Первое выражение должно работать в карме, но я не могу проверить его в терминале, как вы видите выше. Как правильно все подключить?