Javascript 从“返回承诺”;描述;在Nestjs单元测试中不受支持

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

我想使用mongoose对nestjs中的服务进行单元测试。 这个错误在最后出现

不支持从“描述”返回承诺。测试必须同步定义

在Jest的未来版本中,从“descripe”返回一个值将导致测试失败

从'@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();
  });
});