【问题标题】:Jest error: Your test suite must contain at least one test开玩笑错误:您的测试套件必须至少包含一个测试
【发布时间】:2022-12-11 05:28:26
【问题描述】:

我知道这个问题已经在其他地方被问过了,但就我而言,我遵循了 michael guay (click to view) 的最佳实践视频

但不幸的是我得到了一个开玩笑的错误,您的测试套件必须至少包含一项测试但紧接着一项测试就通过了。

这是我的代码: [...]

const mockResponse = {
  json: jest.fn(),
  status: jest.fn().mockReturnThis(),
} as unknown as Response<any, Record<string, any>>;

describe('UsersController', () => {
  let usersController: UsersController;
  let usersService: UsersService;
  beforeEach(async () => {
    const moduleRef = await Test.createTestingModule({
      imports: [],
      controllers: [UsersController],
      providers: [
        UsersService,
        { provide: getModelToken(User.name), useValue: jest.fn() },
        { provide: getModelToken(Role.name), useValue: jest.fn() },
      ],
    }).compile();

    usersController = moduleRef.get<UsersController>(UsersController);
    usersService = moduleRef.get<UsersService>(UsersService);
    jest.clearAllMocks();
  });

  describe('findOneById', () => {
    describe('when findOneById is called', () => {
      beforeEach(async () => {
        const user: Partial<User> & Response =
          await usersController.findOneById(mockResponse, userStub().userId);
        console.log('user', user);
      });

      it('then it should call usersService', () => {
        expect(usersService.findOneById).toBeCalledWith(userStub().userId);
      });
    });
  });
});

我想也许是因为我有一个 describe() 嵌套在一个 describe() 中,这使得第一个 describe() 也在等待测试? 非常感谢!

【问题讨论】:

  • 删除任何包装 describe 而不是直接 it,它们不是必需的。

标签: jestjs nestjs


【解决方案1】:

编辑:当我意识到我在另一个文件夹中隐藏了另一个旧的 .spec 文件时,弄明白了。删除它解决了这个问题。

【讨论】:

    猜你喜欢
    • 2021-06-26
    • 2017-01-01
    • 2018-11-23
    • 2018-08-01
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-05
    相关资源
    最近更新 更多