使用Jasmine toEqual定义的预期对象未定义

我创建了一个屏蔽数据的服务,并编写了一个Jasmine测试来比较实际对象和预期对象。 运行测试时,我对从服务返回的actual对象没有定义。尽管我在控制台日志console.log(JSON.stringify(maskedData));中定义了maskedData

LOG LOG: '{"handle":"#######@#####.com","displayName":"####ane","iss":"####:###.###.##.#"}'
Expected undefined to equal <jasmine.objectContaining(Object({ handle: '#######@#####.com',displayName: '####ane' }))>.

问题:

为什么服务返回对象在测试中评估为未定义但在控制台日志中定义?

我确实认为这可能是一个异步错误,因此在测试期间未定义值,但是由于控制台记录该值有效,所以我认为不是。

这是有关测试的要点:

const mockAddUseraction = {
    type: 'AddUser',payload: {
      handle: 'tedjane@five.com',displayName: 'tedJane',iss: 'http:192.168.12.1',},};

it('should mask PII user action.payload data with nested properties',async () => {
    const maskedData = service.maskPiiData(mockAddUseraction);
    console.log(JSON.stringify(maskedData));
    expect(maskedData.payload).toEqual(
      jasmine.objectContaining({
        handle: '#######@#####.com',displayName: '####ane',}),);
  });

x164695535 回答:使用Jasmine toEqual定义的预期对象未定义

在服务返回结果之前,将调用 $('.range-selection').select2({width: 'resolve',placeholder: "Select range",prompt: "select" }); 指令。您需要同步异步服务调用。尝试将expect添加到调用服务的行中。

await
本文链接:https://www.f2er.com/3140745.html

大家都在问