我正在尝试使用Jest测试异步功能,但是我的模拟似乎不想解决Promise。
workflow.test.js
jest.mock("../../test/__mocks__/workflow");
import {list} from "../../test/__mocks__/workflow"
describe("workflow list api function", () => {
it("should get a list of workflows", async () => {
const expectedListData = {
message: "Successfully retrieved workflow list!",
data: [
{
id: "123",
},
]
};
const listData = await list();
expect(listData.message).not.toBeNull();
expect(listData.message).toBe(expectedListData.message);
expect(listData.data).toBe(expectedListData.data)
});
});
模拟 /工作流程
import { listData } from "./data";
export const list = () => {
return new Promise((resolve, reject) => {
const data = listData;
if (data) {
resolve(data)
} else {
reject({
error: "List not found..."
})
}
});
};
我总是收到一个错误消息,说“ listData.message未定义”,并且当我记录“ listData”变量时,即使我的“ workflow.test.js”文件中的Promise应该解析数据列表,它也未定义
这是我第一次尝试运行一些测试,但我不确定自己做错了什么。我看过很多地方都试图使它起作用,但是我尝试过的一切都没有起作用。只是希望获得一些指示,因为我不确定此时还可以尝试什么。