将 sinon 模拟与 nodeunit 一起使用

2024-04-06

我正在学习使用 sinon 与nodeunit https://github.com/caolan/nodeunit,专门做嘲笑。这推荐方法 http://sinonjs.org/nodeunit/是使用正节点单元 https://github.com/cjohansen/sinon-nodeunit。根据文档 http://sinonjs.org/nodeunit/#mocks,模拟应该可以通过mock的方法test每个测试函数的参数。

然而,这似乎不起作用。如果我跑nodeunit在包含以下内容的文件上 -

require('sinon-nodeunit');

exports['test sinon-nodeunit'] = function (test) {
    mock = test.mock({});
    test.done();
};

— 我明白了:

$ nodeunit test/test-sinon-nodeunit.js 

test-sinon-nodeunit.js
✖ test sinon-nodeunit

TypeError: Object #<Object> has no method 'mock'
    at /home/malkovich/test/test-sinon-nodeunit.js:4:17
    at Object.runTest (/usr/local/lib/node/.npm/nodeunit/0.5.1/package/lib/core.js:54:9)
    at /usr/local/lib/node/.npm/nodeunit/0.5.1/package/lib/core.js:90:21
    at /usr/local/lib/node/.npm/nodeunit/0.5.1/package/deps/async.js:508:13
    at /usr/local/lib/node/.npm/nodeunit/0.5.1/package/deps/async.js:118:13
    at /usr/local/lib/node/.npm/nodeunit/0.5.1/package/deps/async.js:134:9
    at /usr/local/lib/node/.npm/nodeunit/0.5.1/package/deps/async.js:507:9
    at Object.concatSeries (/usr/local/lib/node/.npm/nodeunit/0.5.1/package/deps/async.js:147:23)
    at Object.runSuite (/usr/local/lib/node/.npm/nodeunit/0.5.1/package/lib/core.js:79:11)
    at Object.runModule (/usr/local/lib/node/.npm/nodeunit/0.5.1/package/lib/core.js:114:13)


FAILURES: 1/1 assertions failed (84ms)

我已经安装了两者的当前版本sinon(1.1.1) 和sinon-nodeunit(0.1.2) 通过npm install.


require.path 在节点 0.5.x 及更高版本中被删除,这是 sinon-nodeunit 使用的。 Christian Johansen 刚刚推动了 sinon-nodeunit 的一项更改,该更改应该与 Node 0.6.2(和 0.5.x-series)兼容,这应该可以解决这个问题...它已经在 sinon-nodeunits github 页面上可用,但仍然没有到达 npm。 ..

更新:应该提到的是,sinon-nodeunit 已经停产,因为创建者完全专注于 BusterJS,恕我直言,这是一个更好的框架。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 sinon 模拟与 nodeunit 一起使用 的相关文章

随机推荐

  • RecyclerView延迟加载(通用图像加载器)

    Using Android 通用图像加载器 https github com nostra13 Android Universal Image Loader和 RecyclerView 异步加载图像 我遇到了与其他人相同的错误 图像混合在一
  • mrjob组合器不工作python

    简单的映射组合reduce程序 映射column 1与值column 3并追加 在相同键和附加的每个映射器输出中 减少相同密钥的输出后 input 1 and input 2两个文件都包含 a 1 2 3 a 4 5 6 Code is f
  • Scipy.sparse.csr_matrix:如何获取前十个值和索引?

    我有一个大csr matrix我对前十个值及其每行的索引感兴趣 但我没有找到一个合适的方法来操纵矩阵 这是我当前的解决方案 主要思想是逐行处理它们 row csr matrix getrow row number toarray 0 rav
  • MediaSessionCompat:面向 S+(版本 31 及更高版本)要求在创建 PendingIntent 时指定 FLAG_IMMUTABLE 或 FLAG_MUTABLE 之一

    我正在尝试将我的应用程序更新到 Android SDK 31 但我遇到了 MediaSessionCompat 问题 我有一个扩展 MediaBrowserServiceCompat 的 MediaService 并在该服务的 onCrea
  • 如何在不使用 Visual Studio 的情况下编译并运行 C# 程序? [复制]

    这个问题在这里已经有答案了 我对 C 很陌生 我刚刚使用 Visual Studio 运行了 C Hello World 程序 我可以在不使用 Visual Studio 的情况下运行或编译 C 程序吗 如果可以的话我应该使用哪个编译器 T
  • 在django中迁移模型时如何解决SQLdecode错误?

    我是 django 新手 我已经创建了一个项目和应用程序 我想将我的项目连接到 mongodb 当我进入python manage py migrate命令 我收到下面提到的错误 我已经删除了数据库并清除了 django migration
  • 如何使用 Wicket 密码保护页面?

    我想用密码保护 Wicket 中的网页 以便用户只有在登录后才能访问它 我还希望该页面显示登录页面 然后在登录用户尝试访问的原始页面后 这是如何用检票口完成的 我已经创建了一个登录页面并扩展了会话类 框架提供的方式是提供一个授权策略 htt
  • 是否可以将泛型类型限制为仅允许已知属性?

    如果向函数提供的对象具有太多属性 则会出现错误 type Options str a b function foo a Options return a str const resultA foo str a extraOption err
  • 迭代包括空行在内的行

    给定一个带有一些空行的多行字符串 我如何在Lua中迭代行包括空行 local s foo nbar n njim for line in magiclines s do print line and blank or line end gt
  • Spark:创建嵌套架构

    伴随着火花 import spark implicits val data Seq 1 value11 value12 2 value21 value22 3 value31 value32 val df data toDF id v1 d
  • 使用 cURL 访问 API 可以正常工作,但使用 Fetch API 则不行 [重复]

    这个问题在这里已经有答案了 我知道这个问题已经得到解决lotSO 上的次数 但所有答案大多都是 向服务器添加某个标头 在这种情况下 API Shopify 工作得非常好 并且可以通过curl轻松访问 我已经使用 Axios 库和 Fetch
  • 如何动态刷新 .NET 数据绑定转发器控件

    我有一个 NET repeater控制即data bound到一个列表 作为中继器的一部分Item Collection 我有一个 删除按钮 可以有效地删除当前的列表元素 这有效 在代码隐藏中我可以成功地从datasource of the
  • 在React中,如何防止组件的CSS导入应用于整个应用程序?

    我在用着Facebook 的 create react 应用 https github com facebookincubator create react app对于我的应用程序 在我的 Login js 容器中 我像这样导入 CSS i
  • 使用 jquery 动态添加画布

    我已将所有代码包含在这个小提琴中 http jsfiddle net RymyY http jsfiddle net RymyY 我的问题涉及左侧的 添加形状 按钮 我希望每次单击第二个添加按钮时都能够添加一个新画布 但我无法让它工作 类似
  • OpenOffice pyno“全选”

    有谁知道如何使用 OO uno 桥接 api 在 Calc 工作表中 选择全部 或者 找到最大使用的行数和列数也可以 我想要做的是将格式应用于电子表格中的所有单元格 原因是我将工作表保存为 csv 因此除非格式提供足够的小数位 否则数字不会
  • 将 Expression> 通用拆箱为 Expression>

    正如标题中提到的 我有一个表达式 其中结果类型 存储 在object 这可以是all我的域类 有没有办法得到具体的表达方式 拆箱 如果我正确理解你的问题 你可能正在寻找的是表达式 转换 http msdn microsoft com en
  • Vue Native 始终执行 App.js 而不是 .vue

    我做了vue native安装的第一个过程 我正在遵循 入门 Hello world教程 https vue native io getting started html https vue native io getting starte
  • 根据文件的第二列对数据进行排序

    我有一个 2 列的文件n行数 第 1 列包含names和第2列age 我想根据以下内容按升序对该文件的内容进行排序age 在第二列 结果应该显示name最年轻的人以及name然后是第二年轻的人等等 关于单行 shell 或 bash 脚本的
  • 如何从 C++ 中加载和调用 VBScript 函数?

    我们的客户要求在我们的产品中发生特定操作时调用 VBScript 函数 我一直在尝试研究 Windows 脚本技术 但很难找到我真正需要的东西 希望你们中的一些人能够提供帮助 我们的产品是原生 C Windows 产品 客户将指定一个 VB
  • 将 sinon 模拟与 nodeunit 一起使用

    我正在学习使用 sinon 与nodeunit https github com caolan nodeunit 专门做嘲笑 这推荐方法 http sinonjs org nodeunit 是使用正节点单元 https github com