Я использую свое первое веб-приложение (только после обучения AngularJS) с помощью AngularJS, и я пишу несколько тестов с использованием Jasmine и Karma.Jasmine spec failed
Это мой app.spec.js
файл:
describe('PhoneListController', function() {
beforeEach(module('phonecatApp'));
it('should create a `phones` model with 3 phones', inject(function($controller) {
var scope = {};
var ctrl = $controller('PhoneListController', {$scope: scope});
expect(scope.phones.length).toBe(3);
expect(scope.name).toBe('world');
}));
});
Который работает правильно. Однако, когда я меняю его на:
describe('PhoneListController', function() {
beforeEach(module('phonecatApp'));
it('should create a `phones` model with 3 phones', inject(function($controller) {
var scope = {};
var ctrl = $controller('PhoneListController', {$scope: scope});
expect(scope.phones.length).toBe(3);
}));
it('should have world as a name', inject(function($controller) {
expect(scope.name).toBe('world');
}));
});
Что не так со вторым подходом? Я думал, что примерно каждый оператор it
соответствует одному тестовому примеру, и каждый оператор describe
соответствует одному набору тестов. Это неправильно?
Спасибо.
Простая; 'scope' не определен в вашей второй функции' it'. Он определяется только в первом – Phil