我有一个EntityConfigurationMapper
方法的打字稿类map
。我在这样的Jest测试中嘲笑它:
const mock = jest.fn<EntityConfigurationMapper>()
.mockImplementation(() => ({
map: (conf): Entity => {
return {...};
}
}));
const instance = new entityConfigurationMapperMock();
然后被使用等
我想检查呼叫,which should be like mock.calls[0][0]
等。但是,mock.calls
是一个空数组。
我已将控制台放入模拟的map
方法中,并且它按预期输出,因此该模拟调用模拟的实现,只是不将其记录在calls
数组中。
知道为什么calls
为空吗?
答案 0 :(得分:0)
啊,在this的帮助下解决了。您必须使用jest.fn来模拟函数调用以及类:
const map = jest.fn((conf, ids): Entity => {
return {...};
})
const mock = jest.fn<EntityConfigurationMapper>()
.mockImplementation(() => ({
map
}));
const instance = new entityConfigurationMapperMock();
然后您可以调查map
上的呼叫:
map.mock.calls