【发布时间】:2022-10-24 07:57:30
【问题描述】:
显然,我在这里误解了开玩笑的工作原理: 要测试的代码:
const target = () => {
if (filter()) () => 'hi';
}
const filter = () => false;
module.exports = {
target, filter
}
在下面的代码中,我希望filter() 评估为true,这样当下面的代码调用target 时,target 返回hi。这可能吗?如果是这样,如何,如果不是,这是如何模拟/测试的?
const index = require('./index')
jest.mock('./index.js', () => {
const o = jest.requireActual('./index.js')
return {
...o, filter: jest.fn(() => true)
}
});
test('test', () => {
const x = index.target();
console.log(index.filter()) // true
console.log(x) // undefined ~ would like to see it return 'hi' instead
});
【问题讨论】:
标签: jestjs