jquery – 我如何测试一个$scope.watch(AngularJS)更改在Jasmine?

前端之家收集整理的这篇文章主要介绍了jquery – 我如何测试一个$scope.watch(AngularJS)更改在Jasmine?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚开始写AngularJS的东西,我不知道如何去为这个特定的事情写一个测试。我正在建立一个“帮助请求”模式具有不同的状态。所以在我的控制器,我使用一个$ scope.request_mode变量。激活帮助请求的不同链接将该变量设置为不同的东西。

然后在我的指令,我做一个$范围$ watch(‘request_mode’,function(){…});以在请求模式改变时选择性地激活或停用事物。代码都工作伟大,但我遇到的问题是与测试。我似乎不能让Jasmine拿起$ scope。$ watch并且实际上在任何东西改变时触发。

我相信有人已经遇到这个以前,所以任何建议将非常感谢。

解决方法

在你的单元测试中,你需要手动调用$ scope。$ digest()或$ scope。$ apply()来触发$ scope。$ watch()。

通常在你的代码中,你不必这样做,因为指令像ng-click做$ rootScope。$适用于你的幕后。

猜你在找的jQuery相关文章