Meteor 利用间谍进行流星测试

Meteor 利用间谍进行流星测试,meteor,tdd,bdd,chai,Meteor,Tdd,Bdd,Chai,我在mike:mocha框架和chai断言中使用Velocity。一切都很顺利,但当我要做存根、嘲笑和间谍时,我遇到了一些障碍。我发现,这些并不是mike:mocha或chai的核心功能,应该/可能会增加间谍 我想知道这是否属实的第一步是编写以下代码: it 'calls update when both documents are present but different', -> spies.create('log', console, 'log') 这给了我: Ref

我在mike:mocha框架和chai断言中使用Velocity。一切都很顺利,但当我要做存根、嘲笑和间谍时,我遇到了一些障碍。我发现,这些并不是mike:mocha或chai的核心功能,应该/可能会增加间谍

我想知道这是否属实的第一步是编写以下代码:

  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提供的内容,然而,我在第一个示例中展示的代码是从自述中逐字复制的

问:关于如何让它发挥作用,有什么建议吗?这是装货单问题吗?Github上的代码显示spies等都是在这个包中实现的。所以我有点困了


谢谢

软件包
practicalmeter:chai
不包括获得
spies
API所需的
practicalmeter:sinon
软件包

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

如果查看
practicalmeter:chai
包中的文件,它不包括sinon文件


所以,只要运行meteor add practicalmeteor:sinon就能解决您的问题

谢谢!仍在绞尽脑汁研究语法。目前我使用的是
expect(update\u spy.called).to.equal(false)
,与
expect(update\u spy.to.be.called()
相比,这似乎是语法上的醋。遗憾的是,这种语法似乎没有实现。我可能得看看:)