使用Karma Jasmine进行单元测试角度函数

时间:2015-10-16 23:21:32

标签: angularjs karma-jasmine

我在控制器中有这样的功能

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

如果函数返回一个我能够测试的值 期待($ scope.value).toEqual(); 我们如何使用jasmine测试上述函数。请帮助谢谢

1 个答案:

答案 0 :(得分:1)

  

如果函数返回一个值,我可以使用expect($ scope.value).toEqual();我们如何使用jasmine

测试上述函数

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

此外,在您的情况下,重写非常简单:

<%= javascript_include_tag "application" %>

模板:

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

如果您仍需要测试DOM元素的某些特征,例如它的可见性,jasmine-jquery可能对您有用。例如:

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