0

我正在尝试为我调用的 API 编写测试用例,但我不知道我做错了什么,我收到了这样的错误。

car.test.js

import { getCar } from "../Service/MainScreen/Cars/Car";

describe("Car  API Call function", () => {
  test("it should pass the test", () => {
    const testData = {
      id: 186,
      plate_number: "WW12345",
      status_display: "Aktywny",
      driver_name: "Jakub Nowak",
      driver_id: 181,
      created_at: "2021-08-12T09:07:30Z",
      vin: "WBADM123123123123",
      brand: "Ford",
      model: "Focus",
      "Brand-Model": "Ford/Focus",
      production: "2016",
      registration: "01-12-2020",
      insurance_date: "06-06-2023",
      has_registration_docs: true,
      has_policy_status: true,
      has_certificate: true,
      has_green_card: true,
      has_vehicle_card: true,
      has_car_picture: true,
      fleet_entry: "20-04-2018",
      monitoring_start: "12-08-2021",
      status: "Aktywny",
      Estimaed_distance: 29500,
      Estimaed_fuel: 1475,
      average_fuel: 5,
      claim: 1,
      cost: 1000,
    };

    const response = { json: jest.fn().mockResolvedValueOnce(testData) };
    global.fetch = jest.fn().mockResolvedValueOnce(response);

    return getCar().then((data) => {
      expect(data[0]).toEqual(testData);
    });
  });
});

GetCar 从“../../../Config/Api”导入配置;

export async function getCar() {
  return fetch(config.fakeapi.car, config.fakeHead)
    .then((response) => {
      return response.json();
    })
    .catch((reject) => console.log(reject));
}

这是我附加的图像中的错误,有人可以帮我解决我也可以为另一个 API 调用编写的测试用例在此处输入图像描述

4

1 回答 1

0

testData不是数组,这就是为什么data[0]给你undefined. 它应该是:

const response = { json: jest.fn().mockResolvedValueOnce(testData) };
global.fetch = jest.fn().mockResolvedValueOnce(response);

return getCar().then((data) => {
  expect(data).toEqual(testData);
});
于 2021-09-15T02:53:31.447 回答