我正在尝试测试一个包含回调函数的函数。我设置了一个模拟函数,但我还需要测试回调。
我试图将其分离为另一个模拟函数,但它不算在覆盖范围内。
我正在尝试测试的函数:
export const checkDescription = async page => {
const metaDescription = await page.$eval(
'meta[name="description"]',
description => description.getAttribute("content")
);
return metaDescription;
};
我已经模拟了页面功能:
const page = {
$eval: jest.fn(() => "Value")
};
我的测试:
test("Should return description", async () => {
expect(await checkDescription(page)).toBe("Value");
expect(page.$eval).toHaveBeenCalled();
});
我尝试分离描述:
const description = {
getAttribute: jest.fn(() => "Value")
};
但是我认为在$eval内部覆盖描述的方式是不正确的。