0

単体テストに合格できません。文字列が変更されることを期待していますが、元の説明に戻り続けています。

私の単体テストでは、属性の変更を 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".   

ここに画像の説明を入力

これを修正するための助けをいただければ幸いです

4

0 に答える 0