私はAngularJsを初めて使用し、依存関係のあるディレクティブをテストしようとすると問題が発生します(ただし、ディレクティブ自体は期待どおりに機能します)。ここまたは他のリソースで答えを見つけることができませんでした。
これが私のコードです:
指令:
angular.module('MyApp')
.directive('appVersion', ['config', function (config) {
return function (scope, elm) {
elm.text(config.version);
};
}]);
サービス (値):
angular.module('MyApp')
.value('config', {
version: '0.1'
});
テスト:
describe('Directive: AppVersion', function () {
beforeEach(module('MyApp'));
var element;
it('should have element text set to config value', inject(function ($rootScope, $compile, config) {
var scope = $rootScope;
element = $compile('<app-version></app-version>')(scope);
expect(element.text()).toBe(config.version);
}));
});
私のテストは次のメッセージで失敗しています:
Error: Expected '' to be '0.1'.
つまり、設定値は適切に挿入されましたが、$complile はそれを使用していませんでした。これについて何か助けていただければ幸いです。ありがとう。