sinon相关内容

使用笑话对函数进行存根

有没有一种方法可以使用Jest API存根函数? 我习惯于使用sinon存根,在这里我可以用存根编写单元测试,以测试从我的测试单元中出来的任何函数- http://sinonjs.org/releases/v1.17.7/stubs/ 例如- sinon.stub(jQuery, "ajax").yieldsTo("success", [1, 2, 3]); 解决方案 对于jest, ..
发布时间:2020-05-10 01:24:00 其他开发

Proxyquire,rewire,SandboxedModule和Sinon:优点和优点缺点

在模拟Node依赖项时,我遇到了以下库: Proxyquire 重新布线 SandboxedModule Sinon 它们似乎或多或少都在做同一件事:允许您模拟require()调用(Sinn除外,它几乎模拟了所有内容).他们似乎都需要进行一些相当复杂的设置,注意传递给require的字符串的确切语法-在重构过程中效果不佳. 每个库的优缺点是什么?我什么时候可以选择一个?每 ..
发布时间:2020-05-10 01:22:20 其他开发

如何在Node.js中模拟MySQL(无ORM)?

我正在将Node.js与felixge的 node-mysql 客户端一起使用.我没有使用ORM. 我正在用Vows进行测试,并希望能够模拟我的数据库(可能使用Sinon).由于我本身并没有DAL(除了node-mysql之外),因此我不确定如何执行此操作.我的模型大多是带有很多吸气剂的简单CRUD. 关于如何实现此目标的任何想法? 解决方案 使用sinon,您可以在整个模块周 ..
发布时间:2020-05-10 01:10:59 数据库

测试嵌套在promise中的回调

tl; dr 我需要测试是否成功加载Google电子表格后,我的方法向电子表格中添加了一行. saveDataToGoogleSpreadSheet(conversationData){ return new Promise((resolve, reject) => { Spreadsheet.load(this.getGoogleAPISettings(), (err, spr ..
发布时间:2020-05-10 01:09:00 其他开发

angular js karma/chai-模拟授权错误

我是TDD的新手,正在用angular js测试authInterceptor(我可以使用chai/mocha/sinon),它具有两个功能,一个请求和一个ResponseError.我已经成功测试了request函数,但是我不知道如何(搜索文档)模拟401(未经授权)错误.这是拦截器: export default function AuthInterceptor($q, $inject ..
发布时间:2020-05-10 01:08:02 其他开发

Supertest,Mocha&的单元测试希农超时

我正在尝试编写一个单元/集成测试,我想在其中获取数据库中所有内容的列表.因为这不仅是一个GET,而且这些测试需要扩展到POST,PUT&删除. 到目前为止,我所拥有的代码运行良好,实际上我可以从数据库中获取数据,但是一旦我尝试终止负责对数据库进行调用的功能,Mocha就会超时 1个失败 1)/account_types GET 200列表: 错误:超过2000ms的超时时间.确保 ..
发布时间:2020-05-10 01:07:56 其他开发

模拟内部依赖

我有一个内部依赖于Facebook图形对象的请求,该对象对FB graph API执行另一个请求. 我想知道是否可以使用sinon模拟图形对象,以便它实际上不会在测试中执行请求,而是使用我在测试中提供的值执行回调函数. /p> server.post("/facebookLogin", function(req, res) { graph.setAccessToken(req.bo ..
发布时间:2020-05-10 01:06:54 其他开发

在Express中测试中间件而无需创建重新创建服务器的简单方法?

我希望能够在每次测试的基础上存根我的中间件功能. 在此明确指出,问题在于我不能仅存根中间件功能,因为节点已缓存了中间件功能,因此自从我一开始就创建我的应用程序以来,我就无法进行任何操作. const request = require("supertest"); const { expect } = require("chai"); const sinon = require('sinon' ..
发布时间:2020-05-10 01:05:02 前端开发

如何使Istanbul生成我所有源代码的覆盖范围?

目前,伊斯坦布尔只为测试中使用的文件生成覆盖率,这是可以的,但似乎无法达到覆盖率的目的. 我没有Istanbul配置,正在使用以下脚本字符串通过npm test调用它: $ istanbul cover _mocha -- -R dot --check-leaks --recursive test/ 有没有一种方法可以覆盖我所有的源代码? 解决方案 找到了答案,我认为我很 ..
发布时间:2020-05-10 01:01:09 其他开发