new jquery angularjs jasmine angularjs-directive jasmine-jquery

jquery - new - watch angular object



¿Cómo probaría un cambio de $ scope.watch(AngularJS) en Jasmine? (1)

En las pruebas de su unidad necesita llamar manualmente $scope.$digest() o $scope.$apply() para activar $scope.$watch() .

Normalmente en su código no tendría que hacer esto, ya que las directivas como ng-click do $rootScope.$apply detrás de las escenas.

Recientemente comencé a escribir algo con AngularJS y no estoy seguro de cómo escribir una prueba para esta cosa en particular. Estoy construyendo un modo de "Solicitud de ayuda" que tiene diferentes estados. Entonces en mi controlador, uso una variable $ scope.request_mode. Los diferentes enlaces para activar las solicitudes de ayuda establecen esa variable de forma diferente.

Luego, dentro de mi directiva, estoy haciendo $scope.$watch(''request_mode'', function(){...}); para activar o desactivar selectivamente cosas a medida que cambia el modo de solicitud. El código funciona muy bien, pero el problema que tengo es con las pruebas. Parece que no puedo hacer que Jasmine tome el $scope.$watch y realmente dispare algo cuando cambia.

Estoy seguro de que alguien se ha topado con esto antes, por lo que cualquier sugerencia sería muy apreciada.