我正在Jasmine中为AngularJS项目编写单元测试,并试图测试Promise的.then()
块内的行为。
TLDR版本:在控制器中,我有一个服务调用,它依赖于另一个服务调用的输出,因此一个嵌套在另一个服务调用中。在测试文件中,我在两个服务调用上设置间谍,然后在完成所有操作后验证两者都被调用。可能棘手的部分是这些调用是由异步postMessage
调用触发的,但我之前有这个部分工作,我不确定它现在会如何复杂化。
删节代码: https://gist.github.com/BlackBaud-AlanGordon/6c9d2e26c328d7c585d2
问题是getFormInput().then
内部没有任何内容被调用。使用控制台日志,我能够确认调用了loadPage,但是在promises中嵌套的东西都没有被调用。我是否遗漏了一些显而易见的事情,或者我是否只是根据我应该如何测试这个?