问题介绍 我试图unit testing一个包装Facebook JavaScript SDK FB对象的AngularJS服务; 然而,testing不起作用,我还没有弄清楚为什么。 另外,当我在浏览器中运行服务代码,而不是使用Karmatesting运行器运行的JasmineJSunit testing时,服务代码就可以工作。 我正在通过$q对象testing一个使用Angular promise的asynchronous方法。 我设置了使用Jasmine 1.3.1asynchronoustesting方法asynchronous运行的testing ,但waitsFor()函数永远不会返回true (请参阅下面的testing代码),它在5秒后超时 。 (Karma不包含Jasmine 2.0asynchronoustestingAPI)。 我认为这可能是因为承诺的then()方法从来没有触发(我有一个console.log()设置来显示),即使我打电话给$scope.$apply()asynchronous方法返回,让Angular知道它应该运行一个摘要循环,并触发then()callback…但我可能是错的。 这是运行testing的错误输出: Chrome 32.0.1700 (Mac OS X 10.9.1) service Facebook should return false if user is not logged into Facebook FAILED timeout: timed out after 5000 msec waiting for something to happen Chrome 32.0.1700 (Mac OS X […]