使用间谍进行流星测试

Meteor Testing Using Spies

我将 Velocity 与 mike:mocha 框架和 chai 断言一起使用。一切都很好,但是当需要进行存根、嘲笑和监视时,我遇到了一些障碍。这些不是 mike:mocha 或 chai 的核心功能,所以我发现 practicalmeteor:chai,其中 should/may 添加了间谍。

我第一次尝试确定这是否属实是编写以下代码:

  it 'calls update when both documents are present but different', ->
    spies.create('log', console, 'log')

这给了我:

ReferenceError: spies is not defined
    at packages/velocity:test-proxy/tests/mocha/server/charger_server_doc_spec.coffee:88:9
    at wrappedFunc (packages/mike:mocha/server.js:200:1)
    at runWithEnvironment (packages/mike:mocha/server.js:156:1)

这对我来说意味着我误解了 practicalmeteor:chai 提供的内容,但是,我在第一个示例中显示的代码是从 README 中逐字复制的。

问题:关于让它工作的任何提示?是加载顺序问题吗? Github 上的代码显示间谍等是在这个包中实现的。所以我有点卡住了。

谢谢!

软件包 practicalmeteor:chai 不包含要包含 spies API 所需的 practicalmeteor:sinon 软件包。

它们是单独的包,因为您在使用 chai 创建基本测试时可能不必使用间谍。

如果您查看 practicalmeteor:chai 包中的 package.js 文件,它不包含 sinon 文件。

所以,运行 meteor add practicalmeteor:sinon 应该可以解决您的问题。