0

我无法通过单元测试。我期望字符串会改变,但会不断取回原始描述

在我的单元测试中,我能够以两种方式模拟属性更改。我正在更改$attribute

<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