【问题标题】:Returning a Promise from "describe" is not supported. Tests must be defined synchronously不支持从“描述”返回 Promise。测试必须同步定义
【发布时间】:2019-10-31 13:32:04
【问题描述】:

特定测试已通过,但我得到了这个。

    console.log node_modules/jest-jasmine2/build/jasmine/Env.js:502
          ● 

Test suite failed to run

            Returning a Promise from "describe" is not supported. Tests must be defined synchronously.
            Returning a value from "describe" will fail the test in a future version of Jest.

        > 4 | describe('handlers.getSemesters', async () => {

这是完整的测试代码

describe('handlers.getSemesters', async () => {
      it('should return an array of Semesters', async () => {
        academicCalendarRequest.request = jest.fn();
        academicCalendarRequest.request.mockReturnValue([
          {
            description: 'Semester1',
          }
        ]);
        const expected = [      
          {
            description: 'Semester1',
          },
        ];

        const handlers = new Handlers();
        const actual = await handlers.getSemesters();
        expect(actual).toEqual(expected);
      });
    });

我该如何解决?

【问题讨论】:

    标签: javascript node.js jestjs


    【解决方案1】:

    改变

    describe('handlers.getSemesters', async () => {
    

    describe('handlers.getSemesters', () => {
    

    然后将异步代码放入it块内

    it('should return an array of Semesters', async () => {
      // ...
    })
    

    【讨论】:

    猜你喜欢
    • 2021-06-19
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 2018-05-04
    相关资源
    最近更新 更多