0
我正在使用AngularJS實現我的第一個Web應用程序(只是遵循AngularJS教程),我正在使用Jasmine和Karma編寫一些測試。茉莉花規格失敗
這是我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