【发布时间】:2019-02-09 20:31:56
【问题描述】:
我在我的 test/__mocks__ 文件夹中创建了一个文件,我在其中模拟了一个 npm 模块。这个文件的链接被添加到我的笑话设置中。一切都很好,这让我可以很好地测试它。但是现在对于某个测试,我需要更改此测试的返回值。我怎样才能做到这一点?
我尝试 unMock 加上 setMock 等。但没有任何效果。
// test/__mocks__/touchId.ts
jest.mock('react-native-touch-id', () => {
return {
isSupported: jest.fn(() => Promise.resolve(true)),
authenticate: jest.fn(() => Promise.resolve(true)),
};
});
还有我的测试
it('should not navigate to main if touch id return false', async () => {
jest.setMock('react-native-touch-id', {
authenticate: jest.fn(() => Promise.resolve(false)),
});
const pinCreation = new PinCreationStore();
const spy = jest.spyOn(NavigationServices, 'navigate');
spy.mockReset();
await pinCreation.verifyUser();
expect(spy).toHaveBeenCalledTimes(0);
spy.mockRestore();
});
在这里我仍然正确,所以我的测试崩溃了。
【问题讨论】:
标签: javascript typescript react-native jestjs