笑话:如何使用嘲笑保持默认行为

时间:2020-05-14 16:29:24

标签: javascript reactjs jestjs enzyme

我的React应用程序使用许多由jestenzyme测试的许多组件所使用的inbox.getMessages(start, end)。为了复制上下文的行为,我在函数Context上创建了一个间谍:

useContext

然后我使用mockImplementation来操纵它们的行为并根据上下文返回我想要的数据:

const contextSpyer = jest.spyOn(React, 'useContext')

这里contextSpyer.mockImplementation((context) => { switch (context) { case MenuContext: { return ( { activeItem: 'foobar', pages: ['page1', 'page2', 'page3'], currentPage: ['page1'] } ) } case UserContext: { return ( { currentUser: {id: 42, name: 'foo'} } ) } } }) MenuContextUserContext的结果。

现在,我需要添加React.createContext( ... )的{​​{1}}情况,因为在此组件中使用的库(例如default)也使用了switch,而我没有想覆盖其上下文的默认行为。

您知道如何保存其默认值吗?

0 个答案:

没有答案