首页 > 解决方案 > 在测试内部的测试套件中,变量不刷新

问题描述

我有一个节点项目,我在其中调用 REST 服务来执行 CRUD 操作并使用 jest 来运行测试套件。我创建了一个变量 const obj={}来存储我用来测试基于此存储 ID 的获取/更新操作的对象的所有创建 ID。因此,当我创建用户对象时,我正在使用设置值obj.idCreated = response.id,这很好。但是当我在另一个使用 的测试中得到这个值时obj.idCreated,这个 id 没有正确出现。所有测试都以async / await包装在测试套件中的风格编写。这是get方法测试的示例-

test('getSomething request example', async done => {

    consoleLogMock.mockImplementation(output => {
      originalLog(output);
      done();
    });

    consoleWarnMock.mockImplementation(output => {
      done(output);
    });

    const params = {
      id:obj.idCreated
    };

    const response = await service.getDetails(params);
    expect(response).not.toBeNull();
    done();   
});

我收到错误Missing required parameters: id。这idCreated已在多个地方使用过,但仅在我尝试获取使用obj.idCreated失败的值时出现在某些情况下。我不确定是什么问题。

标签: javascriptnode.jsunit-testingjestjsintegration-testing

解决方案


推荐阅读