2015-10-16 130 views
0

单元测试角功能我有这样的功能的控制器内使用噶茉莉花

$scope.closeMenu = function() { 
        $('#menu').hide(); 
       }; 

如果一个函数返回一个值,我能够使用 预期($ scope.value)来测试.toEqual() ; 我们如何使用茉莉花测试上述功能。请帮助谢谢

回答

1

如果一个函数返回一个值,我可以使用expect($ scope.value).toEqual()来测试;我们如何使用茉莉花测试上述功能

您应该重写您的函数,以便它只设置模型的变量。然后使用Jasmine中已知的方式进行测试。角度的一个要点是,您不要从控制器操纵DOM。只要遵循这些指导原则,控制器就更容易测试。

而且,你的情况重写是非常简单的:

$scope.closeMenu = function() { 
    $scope.isOpen = false; 
}; 

模板:

... id="menu" ng-show="isOpen" ... 

如果你还需要测试DOM元素的一些特点,例如它的能见度,jasmine-jquery可能对您有用。例如:

expect($('#menu')).toBeHidden() 
+0

对于我的代码是不可能写出单元测试?我不想改变代码,并试图找出一种方法来测试这个 – vino

+0

确实有可能,但不是与茉莉花。你需要一些补充。 –

+0

我可以知道需要添加什么吗?例如, – vino