Javascript 从“返回承诺”;描述;在Nestjs单元测试中不受支持
我想使用mongoose对nestjs中的服务进行单元测试。 这个错误在最后出现 不支持从“描述”返回承诺。测试必须同步定义 在Jest的未来版本中,从“descripe”返回一个值将导致测试失败Javascript 从“返回承诺”;描述;在Nestjs单元测试中不受支持,javascript,node.js,unit-testing,testing,nestjs,Javascript,Node.js,Unit Testing,Testing,Nestjs,我想使用mongoose对nestjs中的服务进行单元测试。 这个错误在最后出现 不支持从“描述”返回承诺。测试必须同步定义 在Jest的未来版本中,从“descripe”返回一个值将导致测试失败 从'@nestjs/testing'导入{Test,TestingModule}; 从'@nestjs/mongoose'导入{MongooseModule}; 从“../test-utils/mongo/MongooseTestModule”导入{closeInMongodConnection,r
从'@nestjs/testing'导入{Test,TestingModule};
从'@nestjs/mongoose'导入{MongooseModule};
从“../test-utils/mongo/MongooseTestModule”导入{closeInMongodConnection,rootMongooseTestModule};
从“./user.model”导入{UserSchema};
从“./users.controller”导入{UsersController};
从“/users.service”导入{UsersService};
描述('UserController',async()=>{
let控制器:UsersController;
let服务:users服务;
beforeach(异步()=>{
常量模块:TestingModule=等待测试。createTestingModule({
导入:[rootMongooseTestModule(),MongooseModule.forFeature([{name:'User',schema:UserSchema}]),
控制器:[UsersController],
提供者:[用户服务],
}).compile();
控制器=module.get(UsersController);
service=module.get(UsersService);
});
它('应该定义',()=>{
expect(controller.toBeDefined();
});
它('应该返回所有事件',async()=>{
常数结果={
总数:0,
资源:[],
};
const data=wait service.findAll();
期望值(数据)。toEqual(结果);
});
毕竟(异步()=>{
等待关闭MongodConnection();
});
});
(非嵌套)不支持从
descripe
回调返回承诺。您可以进行异步测试,但测试套件(descripe块)需要同步。从顶层descripe
块中删除async
。请修复问题中的编辑?代码块中似乎嵌套了一个代码段?
import { Test, TestingModule } from '@nestjs/testing';
import { MongooseModule } from '@nestjs/mongoose';
import { closeInMongodConnection, rootMongooseTestModule } from '../test-utils/mongo/MongooseTestModule';
import { UserSchema } from './user.model';
import { UsersController } from './users.controller';
import { UsersService } from './users.service';
describe('UserController', async () => {
let controller: UsersController;
let service: UsersService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
imports: [rootMongooseTestModule(), MongooseModule.forFeature([{ name: 'User', schema: UserSchema }])],
controllers: [UsersController],
providers: [UsersService],
}).compile();
controller = module.get<UsersController>(UsersController);
service = module.get<UsersService>(UsersService);
});
it('should be defined', () => {
expect(controller).toBeDefined();
});
it('should return all the events', async () => {
const result = {
totalDocs: 0,
resource: [],
};
const data = await service.findAll();
expect(data).toEqual(result);
});
afterAll(async () => {
await closeInMongodConnection();
});
});