1

NodeJs コードの単体テストを作成しようとしています。mockResolvedValue を使用して API 呼び出しをモックしています。

これは私の単体テストです:

const { search } = require("../src/utils");

jest.mock("axios");

test("Should find an user", async () => {
  axios.get.mockResolvedValue({
    data: [
      {
        userId: 1,
        name: "Mike",
      },
    ],
  });
  const phone = "123456789";
  const token = "ItIsAFakeToken"

  const name = await search(phone, token);
  expect(name).toEqual("Mike");
});

そして、これは私のsearch機能です

const searchContact = async (phone, token) => {
  const config = {
    method: "get",
    url: "https://userdatabase/api/search",
    token,
    params: {
      phone
    },
  };
  const response = await axios(config);
  return response.name;
}

「未定義」の応答が返されましたが、API呼び出しをconfigパラメーターを使用せずに以下のコードに変更すると、期待されるデータを取得できます。問題は、実際のコードでいくつかの引数を渡す必要があることです。

  const response = await axios.get("https://userdatabase/api/search");

助けてください。ありがとうございました。

4

1 に答える 1