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");
助けてください。ありがとうございました。