2015-01-02 28 views
4

我正在使用Velocity和mike:mocha框架和chai断言。一切工作都很好,但是当需要做出蠢事,嘲笑和间谍活动时,我遇到了一些障碍。这些不是麦克的核心功能:摩卡或柴,所以我找到了practicalmeteor:chai,它应该/可能已经增加了间谍。使用Spies进行流星测试

我在找出这是否是真正的第一个尝试是写下面的代码:

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上的代码显示了间谍等等,都是在这个包中实现的。所以我有点卡住了。

谢谢!

回答

5

practicalmeteor:chai不包含practicalmeteor:sinon包,它是包含spies API所必需的包。

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

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

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

+0

谢谢!仍然在摔跤语法。我现在正在用'expect(update_spy.called).to.equal(false)',这与像expect(update_spy)。to.be.called()'相比似乎是句法醋。可悲的是,这种语法似乎并没有被执行。我可能不得不看它:) –