这是一个显示问题的傻瓜:
http://plnkr.co/edit/J8zRIj?p=preview
这是一个plunker,在scripts.js和scripts.spec.js中都注释了错误,我不再收到$ digest错误了:
http://plnkr.co/edit/jCRlwf?p=preview
当它们不在$ http请求的回调中时,抛出和测试错误似乎有效。任何人都知道为什么这可能不起作用?
答案 0 :(得分:5)
问题是mock $ exceptionHandler服务默认重新抛出异常。因此,您的异常导致$ rootScope。$ apply将在中间中止。
一种解决方案是将mock $ exceptionHandlerProvider切换为'log'模式,然后检查$ exceptionHandler.errors。 See here