问题标签 [proxyquire]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
314 浏览

node.js - 单元测试路由时如何存根由快速路由调用的控制器

我正在尝试对快速路由进行单元测试,例如:

在我的单元测试中,我使用如下代码:

正如你所看到的,我想要做的是将控制器存根。但这似乎不起作用(似乎调用了原始控制器而不是存根)。我不知道为什么。(在对控制器和模型进行单元测试时,同样的方法也有效。)

有人可以解释为什么这不起作用。以及测试这些路由器的任何替代方法。

0 投票
1 回答
439 浏览

node.js - Nodejs模拟一个方法

我想制作该getDbmodel方法的存根。

它被定义在basemodel.js其中

abtest.js导入导入的ab测试模型basemodel

这是我的测试文件:

为什么它总是进入basemodels gedbmodel而不是被嘲笑的?

我想模拟该getdbmodel方法。

0 投票
3 回答
1361 浏览

reactjs - 使用 webpack 的 Proxyquire 无法编译

我已经安装了 proxyquire 并且我的 ajax.test.tsx 文件包含以下代码,只有 2 行

我的 webpack 代码如下

我已经安装了 proxyquire 和 @types/proxyquire。当我运行 webpack 命令时,它会抛出以下错误

0 投票
1 回答
450 浏览

javascript - 如何将帮助程序存根绑定到具有超级测试的 swagger-node?

我正在使用带有 express 的Swagger Node并初始化了骨架项目。Swagger project create hello-world

然后在里面hello-world/api/controllers/hello_world.js我添加了一个小修改,需要一个助手hello_helper.js并调用它的函数helloHelper.getName()

你好世界/api/helpers/hello_helper.js

我想存根helloHelper.getName()返回'Bob'。我可以很容易地做到这一点: hello-world/test/api/controllers/hello_world.js

使用supertest如何让 swagger 识别我的存根?

编辑:感谢以下答案的帮助,此解决方案对我有用。

0 投票
1 回答
1944 浏览

node.js - 存根提取调用 - response.json 不会调用

我正在尝试使用 sinon 和sinon-stub-promise. 我非常接近......但我不确定它为什么不调用response.json()我创建的方法。



0 投票
3 回答
2170 浏览

javascript - 如何多次断言存根提取

使用 proxyquire、sinon 和 mocha。

我能够在第一次调用 fetch 时存根 fetch。但是在第二个递归调用中,我无法断言它。从输出来看,断言可能会在测试完成之前运行。second fetch在断言之后,您将在控制台输出中看到这一点。

index.js


测试:


0 投票
1 回答
1734 浏览

node.js - Proxyquire:无法存根 fs.readFileSync

我似乎无法从 NodeJS 核心对 fs 存根 readFileSync。以下代码隔离了该问题。通过 Mocha 运行测试结果如下:

这是测试/test.js

这是 sut.js,它是正在测试的模块:

该项目的文件夹结构为:

test.js 可以通过mocha tests/test.js从提示符处执行来运行。

我注意到几年前在 Github 上报告了一个看起来相似的问题,但我不知道这是同一个问题还是不同的问题。这是链接:

https://github.com/thlorenz/proxyquire/issues/12

如果有帮助,这些是我的 package.json 文件中的依赖项。我尝试使用与 proxyquire 依赖项类似的版本:

任何帮助深表感谢!

0 投票
1 回答
97 浏览

javascript - 要求行为不符合预期

我正在使用 proxyquire 库,它在导入时模拟包。

我正在创建自己的 proxyquire 函数,该函数对我经常使用并希望定期存根的各种包进行存根(meteor 包,它具有特殊的导入语法):

现在我想编写一个使用这些包之一的文件的测试:

最后我像这样测试它:

请注意,我的最后 2 个文件嵌套在一个子文件夹src中。因此,当我尝试运行此测试时,我收到一条错误消息,提示./foo找不到模块,因为它是在myProxyquire.js文件所在的“根”目录中查找的,而不是src预期的目录。

0 投票
2 回答
1297 浏览

javascript - Proxyquire 不存根

我试图让 Proxyquire 使用简单的方法替换,但我不知道我做错了什么。

我创建 lib.js

和 test.js

并试图存根依赖项并用另一个函数替换事物,即

但是测试两次都注销了“东西”,而不是在第二次调用时“替换”了。任何帮助表示赞赏。

0 投票
0 回答
744 浏览

node.js - 无法使用 proxyquire 模拟 S3 下载请求

以上,是我需要在我的测试类中使用 proxyquire 模拟的代码。问题是,我无法模拟 getObject、on、createReadStream 等方法。同样在模拟之后,我需要从测试类发出错误事件,该事件将触发上述 on 方法,该方法将在测试异常的测试类中调用回调。

下面是我的测试类代码。

任何帮助表示赞赏。