微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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。$适用于你的幕后。

原文地址:https://www.jb51.cc/jquery/184678.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐