TLDR; 如何适当地模拟导入自第三方库的 React 组件?
我正在测试一个组件,名为
我在使用 Jest 进行模拟时遇到了一些问题。
以下是我尝试模拟它的方式。
我正在测试一个组件,名为
<App/>
,它使用了一个叫做 <Localize/>
的第三方组件,该组件由名为 localize-toolkit
的库提供。我在使用 Jest 进行模拟时遇到了一些问题。
以下是我尝试模拟它的方式。
jest.mock('localize-toolkit', () => ({
// Normally you pass in a key that represents the translated caption.
// For the sake of testing, I just want to return the key.
Localize: () => (key:string) => (<span>{key}</span>)
}));
我已经为<App/>
编写了一个单元测试,如下所示。
it('Test', () => {
const component = render(<App/>);
expect(component).toMatchSnapshot();
}
)
这个会过去的,不过这是返回的警告信息。
函数作为React子组件无效。如果你从渲染中返回一个组件而不是<Component />,就可能会发生这种情况。
当我查看快照时,在本地化标题应该出现的位置,我得到一系列的连续点号 "..."。
我没有正确地模拟 Localize
组件吗?