问题标签 [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 投票
1 回答
2011 浏览

javascript - proxyquire 如何处理代理模块的二级(间接)需求?

如果我们有三个模块名称A,那么模块需要B和需要:这个调用会产生什么效果?CABBC

模块B会得到模拟模块还是真实C模块?

0 投票
1 回答
12242 浏览

node.js - Proxyquire、rewire、SandboxedModule 和 Sinon:优点和缺点

在模拟 Node 依赖项时,我遇到了以下库:

他们似乎都在做或多或少相同的事情:允许你模拟require()调用(除了模拟几乎所有东西的Sinon)。它们似乎都需要一些非常精细的设置,注意传递给的字符串的确切语法require——在重构期间不是很好。

每个图书馆的优缺点是什么?我什么时候会选择其中之一?每个库都擅长的示例用例是什么?这个领域还有哪些更好的产品?

0 投票
1 回答
2734 浏览

gulp - 使用 proxyquireify 存根测试时“要求未定义”

您好,我有一个项目使用 gulp 作为构建框架,并使用 karma 和 jasmine 进行测试。

我正在尝试集成 proxyquireify 来模拟需求,我只是在 karma 配置中添加了 proxyquireify 作为 browserify 插件,因为我正在使用 karma-browserify。

但这会在运行测试时导致错误,在第一行中说“require is undefined”。

我究竟做错了什么?

这是我的业力配置

// Karma 配置 // 生成于 2014 年 11 月 26 日星期三 17:57:28 GMT+0530 (IST)

0 投票
6 回答
12585 浏览

javascript - 在对 Knex 进行单元测试时,如何模拟假数据库?

我一直在成功使用Knex连接到后端数据库。但我希望能够对我的代码进行单元测试。有没有办法模拟数据库连接?

我试过使用proxyquire但我似乎无法让它工作。

问题似乎与 Knex 的初始化方式有关。

我将 knex 设置为在我的单元测试中进行模拟。

我的服务包括 knex。

当我的服务运行查询时,它会失败。

出于某种原因,我似乎无法在尝试连接之前捕获请求。

我也尝试过创建一个自定义 Knex Client,但这也没有奏效。

0 投票
0 回答
113 浏览

node.js - node.js:proxyquire 可以在调用堆栈中的任何级别应用吗?

Node.js:proxyquire 可以用来模拟调用堆栈中任何级别的依赖项吗?

我需要测试 route1.endpoint1

route1 需要 module1 ,这需要 module2 ,这需要 module3

我可以将 proxyquire 应用于 module2 - 为其 require module3 分配一个存根吗?

0 投票
1 回答
3708 浏览

node.js - 如何在 node.js 中使用 sinon/proxyquire 或依赖注入在单元测试中模拟 twilio

假设我想测试一个通过 SMS 与 Twilio 发送登录代码的用户登录控制器。我应该如何设置测试,以便我可以模拟 Twilio 并查看它发回的代码。我的方法是代理查询 twilio 客户端对象并用 sinon 监视它,但我认为我做得不太对。

控制器用户.js

测试文件

0 投票
1 回答
1009 浏览

node.js - nodeJS proxyquire overwrite specific function of a require

I am currently testing a module in isolation using proxquire to overwrite a require of this module.

Overwriting a path of a require works fine with proxyquire. For example:

But can you use proxyquire also to overwrite just a specific function of a module which is required in the module to test? So something like:

I need to stay at proxyquire for this since I am using it for mocking a http-request happening in another layer of the architecture. But in case of the test I need to mock the time for "now" in the module as well.

So currently I have this:

The implementation of setNow is:

Obviousley './checkin.setNow' : setNowStub in proxyquire doesn't work, since this is the wrong path. But using './checkin'.setNow() : setNowStub also doesn't work because of wrong syntaxis in the object-definition.

Any suggestions?

Thanks in advance!

0 投票
0 回答
1661 浏览

node.js - `proxyquire` - 错误:找不到模块

由于某种原因proxquire找不到我的模块index.js。我一定是在做一些非常愚蠢或明显的事情,而且看不到。

错误:

奇怪的是,我为另一个应用程序的测试设置了相同的设置,并且在那里找到模块没有问题。我什至维护了相同的版本proxyquire,将其更改为最新版本仍然没有修复它。index.js存在于指定路径的目录中。

这是我的测试代码:

0 投票
1 回答
10020 浏览

node.js - 使用 proxyquire 存根

我将如何使用 proxyquire 和 sinon 存根以下模块:

我做了以下操作,但它不起作用,因为当我尝试在其中触发错误时,send()它仍然会发送电子邮件。

并且还尝试过:

这是迄今为止的完整测试,但失败了:

0 投票
1 回答
1339 浏览

javascript - Proxyquire 找不到模块

我正在尝试使用 proxyquire 来模拟依赖项以进行测试。但我不断收到此错误Cannot find module

我尝试了完整的路径,但它仍然在抱怨。

我有一个 src 文件assets/js/src/lib和测试js-tests/specs

这是代码。

我收到了这个错误。

错误:在以下位置找不到模块“../../assets/js/src/lib/Mandrill”

我正在使用 Grunt 和 PhantomJs 来运行测试

这是我在 Gruntfile.js 中的 Browserify