0
AngularJSを使用して初めてのWebアプリケーション(AngularJSチュートリアルの直後)を実装しています.JasmineとKarmaを使用していくつかのテストを書いています。ジャスミン仕様が失敗する
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');
}));
});
正しく動作:
これは私の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);
}));
it('should have world as a name', inject(function($controller) {
expect(scope.name).toBe('world');
}));
});
2番目のアプローチでは何が問題になっていますか?おおよそ各it
文が1つのテストケースに対応し、各describe
文が1つのテストスイートに対応すると私は考えました。それは間違っていますか?
ありがとうございました。
簡単です。 'scope'はあなたの2番目の' it'関数で定義されていません。それは最初に定義されたものです – Phil