问题标签 [nestjs-testing]

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 回答
649 浏览

jestjs - Nest.js 测试模块,不能覆盖注入另一个提供程序的提供程序,未定义接收

我有 Nest.js 应用程序,其中某些提供程序被注入到另一个提供程序中:

AppService 有一个publish调用 appInnerService方法的send方法。我为 AppService 创建了单元测试,我想在其中模拟 AppInnerService 提供程序:

上面的代码不起作用,AppInnerService 没有注入到 AppService 中,而是将 undefined 传递给构造函数。为什么上面的测试不起作用,我该如何修复它(无需手动创建带有模拟服务的 AppService 类,我想使用由 @nestjs/testing 包创建的测试模块)?

0 投票
0 回答
47 浏览

javascript - 在 Nestjs 中模拟控制器依赖项

我正在尝试使用 nestjs createTestingModule 模拟我的控制器,并且我添加了覆盖提供程序来模拟该服务,但它仍然给我这个错误

截屏:

截屏

我也尝试添加其他依赖项,但错误是一样的

这是我的 controller.ts 文件

这是我的 controller.spec.ts

0 投票
2 回答
45 浏览

nestjs - 如何更改/编辑 ConfigService 中的键 - Nestjs

我创建了一个 Nestjs 服务器并使用 .env 文件加载配置

我有 e2e 测试用例,需要在ConfigService 是否有任何选项可以更改键的值?

0 投票
1 回答
25 浏览

nestjs - 无法在 TestingModule 上调用 useMocker

我正在尝试对以下代码执行 useMocker:

但我不断收到错误“'TestingModuleBuilder'类型上不存在属性'useMocker'”

有谁知道这是为什么?

0 投票
1 回答
16 浏览

unit-testing - 如何在 NestJS 中模拟提供者的记录器依赖项?

首先,我不确定这是否是一回事,这是我第一次为 NestJs 编写单元测试。

我正在尝试为在其构造函数中具有以下依赖项的控制器编写一些单元测试:

这是我的测试套件的开始:

以下堆栈跟踪失败:

从日志中,我假设问题来自提供者 SocketService,它又具有提供者 UserService,而后者又像这样注入了 Winston Logger:

我尝试将 UserService 添加到我的测试套件中的 providers 数组中,并添加一个没有解决问题的空对象的模拟实现。不知道还能从这里尝试什么,我必须在 mockSocketService 中添加一个模拟提供程序还是必须添加一个模拟记录器?

任何帮助将不胜感激,如果我可以提供更多代码以便于理解,请告诉我。

更新

更改相对路径解决了模拟服务中温斯顿依赖的问题,但现在 Jest 抱怨无法解决控制器中的温斯顿依赖。这是因为它是从另一个模块导出的,但是通过阅读它,我了解到将整个模块导入单元测试是一种不好的做法。我尝试像这样模拟 Logger:

但是没有运气,我也尝试过这样嘲弄温斯顿结果也是负面的。

0 投票
0 回答
10 浏览

unit-testing - 使用类型 ORM 将数组传递给 NestJs 单元测试中的创建函数

在我的 Typeform 创建函数中。我在我的服务中接受一系列对象。但是当我尝试为此编写一个单元测试时,它会抛出一个错误,因为mockReturnValue它只接受一个对象。这是我的测试规范

我正在尝试编写单元测试的服务