Я писал модульное тестирование в 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.