Jasmine .andCallFake不会触发与spineJs的函数调用

时间:2013-05-15 14:36:46

标签: testing coffeescript jasmine spine.js

我正在使用茉莉来测试我的前端,并设置了一个间谍设置来监视在控制器中调用的编辑功能。回调接收一条消息,然后调出编辑视图或抛出错误。

spyOn(edit, "edit").andCallFake (callback) ->
    console.log(callback)
    callback()

我还有一个间谍设置来监视模型中的一个函数,该函数在编辑控制器中获取项目的更新版本。

spyOn(ag, "fetchLatestVersion").andCallFake (callback) ->
    console.log(callback)
    callback()

此函数返回一条消息,该消息将被发送到编辑回调,然后显示视图或引发错误。

我的编辑功能正常运行,直到它到达fetchLatestVersion()函数,然后它似乎不想运行回调,甚至似乎没有输出回调的内容。任何有关jasmine的.andCallFake()的帮助都将非常感激。

提前致谢!

编辑:

我刚删除了编辑间谍(最终没有必要),我的错误已经改变了。我从.fetchLatestVersion()收到正确的回调函数,但我最终得到一个错误说:

Error: Expected a spy, but got Function.

如果您需要更多信息,请与我们联系。再次感谢!

1 个答案:

答案 0 :(得分:1)

这是Spine(前端框架)以及它如何找到对象的问题。它使克隆而不是返回实际对象。通过将记录更改为irecords,我能够让测试正确通过!