使用 spy 进行 meteor 测试

标签 meteor tdd bdd chai

我将 Velocity 与 mike:mocha 框架和 chai 断言一起使用。一切都很好,但是当需要进行 stubbing、mocking 和 spying 时,我遇到了一些障碍。这些不是 mike:mocha 或 chai 的核心功能,所以我找到了 practicalmeteor:chai ,应该/可能添加了 spy 。

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

  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)

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

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

谢谢!

最佳答案

包裹practicalmeteor:chai不包括 practicalmeteor:sinon获取 spies 所需的包包括 API。

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

如果你看 package.js practicalmeteor:chai 中的文件包,它不包括 sinon 文件。

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

关于使用 spy 进行 meteor 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27747545/

相关文章:

unit-testing - 何时使用单元测试框架(相对于仅使用断言)?

java - 如何使用 TDD 实现复杂的算法

meteor - 为什么我的 meteor 设置没有传递给应用程序?

javascript - mongo 聚合 - 累积一个字段的不同组的值

数据库免费 NUnit 测试

testing - [小 cucumber /Specflow] : How to write a scenario outline with complex types

java - 如何在 Cucumber for Java 中执行标记驱动的跨浏览器测试?

python - 我可以用 Nose 嵌套测试用例吗?

authentication - 通过 DDP(和 SRP?)使用 Meteor 进行身份验证

javascript - 如何创建一般消息