我正在尝试为我的 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");
请帮忙。谢谢你。