【发布时间】:2021-10-14 15:36:47
【问题描述】:
我有一个案例:
test.js
import { today } from "utils/date";
import myFunction from "helpers/myFunction";
it('should work properly', () => {
jest.mock('utils/date', () => ({
...(jest.requireActual('utils/date')),
today: jest.fn(() => '01-01-2020'),
}));
console.log(today()); // still logs current date 14-10-2021, not the mocked date
expect(myFunction()).toEqual(today());
});
myFunction.js
import { today } from "utils/date";
export const myFunction = () => today();
today 是一个返回今天日期的函数。但出于测试目的,我需要该函数始终返回相同的日期,例如"01-01-2020".
注意:正如您所见,“today”函数用于测试以及被测试的 (myFunction) 函数内部,因此它必须像应用程序中的任何地方一样返回相同的模拟值。
谢谢
【问题讨论】:
标签: javascript reactjs unit-testing jestjs