你如何在javascript / angular js中测试if语句?

时间:2015-02-04 16:02:37

标签: javascript angularjs unit-testing

这是我得到的一些代码:

$scope.changePassword = function () {
                sessionService.save($scope.sessionData);
                if(sessionService.account.newPassword ==  sessionService.account.currentPassword) {
                     return false;
                }
                webServiceDal.changePassword().success(function (response) {
                    if (response.ChangePasswordAppResponse.errorFlag)
                        $scope.globalError = response.ChangePasswordAppResponse.returnMsg;
                    else
                        $location.path('/my-preferences');
                });
            };

你会如何为此编写单元测试?我需要嘲笑某事吗? 我是javascript / angular js单元测试的新手,所以需要一些指导,从哪里开始。 我查看了文档,但他们没有if else语句的例子

1 个答案:

答案 0 :(得分:0)

您需要在单元测试之前模拟对象,以及使用对象的方法/属性。

所以你需要模仿:

sessionService

及其方法/属性:

save(), account.newPassword, account.currentPassword

并且

webServiceDal

及其方法:

changePassword

然后你需要注射你使用的角度注射:

$scope, $location

请记住使用_AngularName_语法注入角度参数。