javascript - AngularJS 观察者 : oldValue equal to newValue in unit test

标签 javascript angularjs jasmine

我在单元测试中遇到了 AngularJS 观察者的问题。

运行应用程序时,它按预期工作,但在单元测试中,oldValue 始终等于 newValue,这导致在测试观察者中这些值之间的不平等时测试失败(我认为这很常见)。

我做了一些简单的说明:http://plnkr.co/edit/a5er4f?p=preview 查看控制台以观察行为。 在index.html中,正常模式,一切都很好,oldValue总是与newValue不同。 在《 Jasmine 记者》里,他们永远是平等的。

对此有什么想法吗?也许我在测试中做错了什么?

感谢您的帮助!

最佳答案

您需要在测试中手动调用 $scope.$apply() 以使观察者触发,否则它们不会检查值更改,保持不变。

关于javascript - AngularJS 观察者 : oldValue equal to newValue in unit test,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16293052/

相关文章:

javascript - 如何模拟嵌套方法?

unit-testing - 在 Browserify 中为单元测试 stub 所需的模块

c# - fancybox u 未定义

javascript - 为什么这个 knockout 方法接收的是一个表单元素而不是它嵌套的对象?

javascript - AngularJS ng-click 和回调函数

javascript - 在指令中将元素向上移动到窗口滚动然后应用固定位置

javascript - Sequelize 动态数据库配置

javascript - 使用 Create React App 进行 React 样式化

angularjs - 使用 Typescript 的 Angular material toast

AngularJS - 通过 $httpBackend 模拟数据有什么意义?