【问题标题】:Testing an AngularJS Controller method that returns a promise using Jasmine and Sinon使用 Jasmine 和 Sinon 测试返回 Promise 的 AngularJS 控制器方法
【发布时间】:2014-04-27 23:31:02
【问题描述】:

我正在尝试测试一个返回承诺的 Angular 控制器方法。我存根了返回承诺的方法(使用 sinon 存根),但是当承诺被解决(实现)时,注册的成功/onFulfilled 处理程序不会被调用。基本上,我无法在 Jasmine 测试中获得已解决的承诺来触发任何已注册的处理程序。在此处查看代码 - http://cl.ly/code/1o1s2Y2F381c

请指教。谢谢。

【问题讨论】:

  • 您需要手动运行摘要。

标签: javascript angularjs unit-testing promise sinon


【解决方案1】:

事实证明,我不得不使用 Jasmine 的 runswaitsFor 函数来告诉 jasmine 在我完成此测试之前推迟进行下一个测试.如果您的测试的任何部分在事件循环的未来轮次中运行(即异步),您似乎需要这样做。

您也可以使用 jasmine.async https://github.com/derickbailey/jasmine.asyncjasmine-as-promised https://github.com/ThomasBurleson/jasmine-as-promised 之类的扩展。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-03
    • 2014-06-19
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    • 2014-08-07
    • 1970-01-01
    相关资源
    最近更新 更多