Cố gắng thiết lập đơn vị kiểm tra cho https://github.com/beeman/loopback-angular-admin.Góc/Karma/Jasmine: TypeError: 'undefined' không phải là một đối tượng (đánh giá 'scope.awesomeThings')
app/modules/về/controllers/about.controller.js (tôi đã thêm $scope.awesomeThings
để tải phạm vi với một cái gì đó để kiểm tra):
'use strict';
angular.module('com.module.about')
/**
* @ngdoc function
* @name com.module.about.controller:AboutCtrl
* @description
* # AboutCtrl
* Controller of the clientApp
*/
.controller('AboutCtrl', function($scope) {
$scope.angular = angular;
$scope.awesomeThings = [1, 2];
});
Các thử nghiệm hoa nhài tại client/test/modules/về/controllers/about.ctrl.js
'use strict';
describe('Controller: AboutCtrl', function() {
var AboutCtrl,
scope;
// load the controller's module
beforeEach(module('gettext'));
beforeEach(module('ui.router'));
beforeEach(module('com.module.about'));
// Initialize the controller and a mock scope
beforeEach(inject(function ($controller, $rootScope) {
scope = $rootScope.$new();
AboutCtrl = $controller('AboutCtrl', {
'$scope': scope
});
}));
it('should attach a list of awesomeThings to the scope', function() {
expect(scope.awesomeThings.length).toBe(3);
});
});
Khi tôi chạy thử nghiệm đơn giản này, tôi nhận được:
TypeError: 'undefined' is not a function (evaluating '$rootScope.addDashboardBox(gettextCatalog.getString('About'), 'bg-maroon',
'ion-information', 0, 'app.about.index')')
at client/app/modules/about/controllers/about.config.js:6
at invoke (client/app/bower_components/angular/angular.js:4203)
at client/app/bower_components/angular/angular.js:4025
at forEach (client/app/bower_components/angular/angular.js:323)
at createInjector (client/app/bower_components/angular/angular.js:4025)
at workFn (client/app/bower_components/angular-mocks/angular-mocks.js:2425)
TypeError: 'undefined' is not an object (evaluating 'scope.awesomeThings')
at client/test/modules/about/controllers/about.ctrl.js:21
Nếu tôi đặt LogLevel: LOG_DEBUG, khoảng * file hiển thị:
->% grep về /tmp/karma-debug.log
client/app/modules/about/app.about.js
client/app/modules/about/controllers/about.config.js
client/app/modules/about/controllers/about.controller.js
client/app/modules/about/controllers/about.routes.js
client/test/modules/about/controllers/about.ctrl.js
DEBUG [web-server]: serving (cached): client/app/modules/about/app.about.js
DEBUG [web-server]: serving (cached): client/app/modules/about/controllers/about.config.js
DEBUG [web-server]: serving (cached): client/app/modules/about/controllers/about.controller.js
DEBUG [web-server]: serving (cached): client/app/modules/about/controllers/about.routes.js
DEBUG [web-server]: serving (cached): client/test/modules/about/controllers/about.ctrl.js
Tôi biết tôi thiếu một cái gì đó cơ bản, nhưng tôi có thể dường như không tìm thấy gì.
bạn có kiểm tra xem những điều mà nó nói là không xác định được xác định hay không? – Transcendence
Xác định chắc chắn. Nếu tôi thêm nó vào khung nhìn, nó sẽ xuất hiện. –