问题标签 [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.
node.js - 单元测试路由时如何存根由快速路由调用的控制器
我正在尝试对快速路由进行单元测试,例如:
在我的单元测试中,我使用如下代码:
正如你所看到的,我想要做的是将控制器存根。但这似乎不起作用(似乎调用了原始控制器而不是存根)。我不知道为什么。(在对控制器和模型进行单元测试时,同样的方法也有效。)
有人可以解释为什么这不起作用。以及测试这些路由器的任何替代方法。
node.js - Nodejs模拟一个方法
我想制作该getDbmodel
方法的存根。
它被定义在basemodel.js
其中
abtest.js
导入导入的ab
测试模型basemodel
。
这是我的测试文件:
为什么它总是进入basemodels
gedbmodel
而不是被嘲笑的?
我想模拟该getdbmodel
方法。
reactjs - 使用 webpack 的 Proxyquire 无法编译
我已经安装了 proxyquire 并且我的 ajax.test.tsx 文件包含以下代码,只有 2 行
我的 webpack 代码如下
我已经安装了 proxyquire 和 @types/proxyquire。当我运行 webpack 命令时,它会抛出以下错误
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 识别我的存根?
编辑:感谢以下答案的帮助,此解决方案对我有用。
node.js - 存根提取调用 - response.json 不会调用
我正在尝试使用 sinon 和sinon-stub-promise
. 我非常接近......但我不确定它为什么不调用response.json()
我创建的方法。
javascript - 如何多次断言存根提取
使用 proxyquire、sinon 和 mocha。
我能够在第一次调用 fetch 时存根 fetch。但是在第二个递归调用中,我无法断言它。从输出来看,断言可能会在测试完成之前运行。second fetch
在断言之后,您将在控制台输出中看到这一点。
index.js
测试:
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 依赖项类似的版本:
任何帮助深表感谢!
javascript - 要求行为不符合预期
我正在使用 proxyquire 库,它在导入时模拟包。
我正在创建自己的 proxyquire 函数,该函数对我经常使用并希望定期存根的各种包进行存根(meteor 包,它具有特殊的导入语法):
现在我想编写一个使用这些包之一的文件的测试:
最后我像这样测试它:
请注意,我的最后 2 个文件嵌套在一个子文件夹src
中。因此,当我尝试运行此测试时,我收到一条错误消息,提示./foo
找不到模块,因为它是在myProxyquire.js
文件所在的“根”目录中查找的,而不是src
预期的目录。
javascript - Proxyquire 不存根
我试图让 Proxyquire 使用简单的方法替换,但我不知道我做错了什么。
我创建 lib.js
和 test.js
并试图存根依赖项并用另一个函数替换事物,即
但是测试两次都注销了“东西”,而不是在第二次调用时“替换”了。任何帮助表示赞赏。
node.js - 无法使用 proxyquire 模拟 S3 下载请求
以上,是我需要在我的测试类中使用 proxyquire 模拟的代码。问题是,我无法模拟 getObject、on、createReadStream 等方法。同样在模拟之后,我需要从测试类发出错误事件,该事件将触发上述 on 方法,该方法将在测试异常的测试类中调用回调。
下面是我的测试类代码。
任何帮助表示赞赏。