我在单元测试中遇到了AngularJS观察者的问题。AngularJS观察者:oldValue等于单元测试中的newValue
当运行应用程序时,它正在按预期工作,但在单元测试中,oldValue始终等于newValue,这导致在观察者中测试这些值之间的不平等时导致失败测试(这是我常见的)。
我已经做了一个小小的演示来说明:http://plnkr.co/edit/a5er4f?p=preview 看看控制台来观察行为。 在index.html中,正常模式下,一切正常,oldValue总是与newValue不同。在茉莉花记者,他们总是平等的。
对此有何想法?也许我在测试中做错了什么?
感谢您的帮助!
嗨Jmr,非常感谢你的灯光。似乎你没有保存你的Plnkr,它仍然与原来的一样。 关于双声明,对不起,你是对的,但我可以在没有HTML的情况下在Karma运行的普通Jasmine测试中重现这一点。另外,在测试中实例化控制器的正确方法是什么?我一直都是这样看的,参见。官方文档:http://docs.angularjs.org/guide/dev_guide.mvc.understanding_controller – 2013-04-30 23:10:32
Plunkr已保存(更改主要在jasmine-reporter.html中) – Jmr 2013-04-30 23:18:41
您正在使用$ beforeEach()中的$ controller服务。 – Jmr 2013-04-30 23:19:26