単体テストに合格できません。文字列が変更されることを期待していますが、元の説明に戻り続けています。
私の単体テストでは、属性の変更を 2 つの方法でモックすることができました。$属性を変更しています
<div global-alert description=\"description\"> </div>
属性が監視され、そのようにスコープに追加されます...
$attrs.$observe('description', function () {
$scope.description = $attrs.description;
});
globalAlertはディレクティブの名前で、description は変更する属性です。
単体テスト内で、仕様を次のように設定しています
it('should set scope.description to true', function () {
// 1 mock
element.attr('description', function () {
element.attr('description', 'hotDog');
});
//2 just recreate the angular.element('<div global-alert description = \"hotDog\"> </div>
scope = element.scope();
element = $compile(html)($rootScope);
$rootScope.$digest(); // runs in the debugger shows change
expect(scope.description).to.equal('hotdog'); // equals 'description'
});
説明は、期待どおりに元の文字列値に設定されたままです。ダイジェストがヒットし、デバッガーの JavaScript 関数に変更が表示されます。
**私の単体テストでのダイジェストの後に、
$scope.description is "hotDog".
これを修正するための助けをいただければ幸いです