我有一个反应对象正在尝试测试哪个函数正在es6模块的实例上调用函数。跟随https://jestjs.io/docs/en/es6-class-mocks,我可以看到es6和上的方法将返回未定义的,因此我需要对它们进行模拟。使用酶标仪,我希望每次创建LearningTrack模块时都可以使用我的模拟程序,但仍未定义。我有以下内容:
jest.mock('../../interfaces/LearningTrack', () => {
return class LearningTrack {
progress() {
return false
}
}
})
describe('<TracksGrid />', () => {
it('Tracks displayed', async () => {
let store = mockStore(redux.defaultStore);
const wrapper = mount(
<Provider store={store}>
<MemoryRouter initialEntries={[ '/' ]}>
<Tracks />
</MemoryRouter>
</Provider>
);
return Promise
.resolve(wrapper)
.then(() => {
let content = wrapper.debug();
});
});
});
它仍在已装入的组件中调用progress(),但由于未定义而失败。我需要以某种方式传递酶/笑话吗?