Как изменить значение переменной $ scope из тестовых примеров в jasmine (AngularJS) - PullRequest
0 голосов
/ 17 июня 2020

Я писал модульное тестирование в AngularJS, которое работает довольно хорошо, пока я не застрял в этой проблеме. Я проиллюстрирую свою проблему на примере, предположим, что у меня 1 контроллер, который имеет эту функцию

$scope.value = 1;
$scope.checkValue = function() {
    if($scope.value) $scope.myValue = 1;
    if(!$scope.value) $scope.myValue = 0;
}

теперь он всегда возвращает истину, но я хочу в тестовом примере изменить $ scope.value и запустить unit test

it("Should return 1", function(){
    $scope.checkValue();
    expect($scope.myValue).toBe(1);
});

it("Should return 0", function(){
    $scope.value = 0;
    $scope.checkValue();
    expect($scope.myValue).toBe(0);
});

, но второй также всегда будет возвращать 1, но когда я консоль $ scope. значение консоли 0 в терминале, но $ scope.myValue будет 1.

...