问题标签 [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.
jestjs - Nest.js 测试模块,不能覆盖注入另一个提供程序的提供程序,未定义接收
我有 Nest.js 应用程序,其中某些提供程序被注入到另一个提供程序中:
AppService 有一个publish
调用 appInnerService方法的send
方法。我为 AppService 创建了单元测试,我想在其中模拟 AppInnerService 提供程序:
上面的代码不起作用,AppInnerService 没有注入到 AppService 中,而是将 undefined 传递给构造函数。为什么上面的测试不起作用,我该如何修复它(无需手动创建带有模拟服务的 AppService 类,我想使用由 @nestjs/testing 包创建的测试模块)?
nestjs - 如何更改/编辑 ConfigService 中的键 - Nestjs
我创建了一个 Nestjs 服务器并使用 .env 文件加载配置
我有 e2e 测试用例,需要在ConfigService
是否有任何选项可以更改键的值?
nestjs - 无法在 TestingModule 上调用 useMocker
我正在尝试对以下代码执行 useMocker:
但我不断收到错误“'TestingModuleBuilder'类型上不存在属性'useMocker'”
有谁知道这是为什么?
unit-testing - 如何在 NestJS 中模拟提供者的记录器依赖项?
首先,我不确定这是否是一回事,这是我第一次为 NestJs 编写单元测试。
我正在尝试为在其构造函数中具有以下依赖项的控制器编写一些单元测试:
这是我的测试套件的开始:
以下堆栈跟踪失败:
从日志中,我假设问题来自提供者 SocketService,它又具有提供者 UserService,而后者又像这样注入了 Winston Logger:
我尝试将 UserService 添加到我的测试套件中的 providers 数组中,并添加一个没有解决问题的空对象的模拟实现。不知道还能从这里尝试什么,我必须在 mockSocketService 中添加一个模拟提供程序还是必须添加一个模拟记录器?
任何帮助将不胜感激,如果我可以提供更多代码以便于理解,请告诉我。
更新
更改相对路径解决了模拟服务中温斯顿依赖的问题,但现在 Jest 抱怨无法解决控制器中的温斯顿依赖。这是因为它是从另一个模块导出的,但是通过阅读它,我了解到将整个模块导入单元测试是一种不好的做法。我尝试像这样模拟 Logger:
但是没有运气,我也尝试过这样嘲弄温斯顿,结果也是负面的。
unit-testing - 使用类型 ORM 将数组传递给 NestJs 单元测试中的创建函数
在我的 Typeform 创建函数中。我在我的服务中接受一系列对象。但是当我尝试为此编写一个单元测试时,它会抛出一个错误,因为mockReturnValue
它只接受一个对象。这是我的测试规范
我正在尝试编写单元测试的服务