Reactjs 如何使用样式化组件测试样式化组件';谁是提供者?
有没有一种方法可以使用样式化组件的方法和样式化组件的ThemeProvider包装器来测试样式化组件的文本内容Reactjs 如何使用样式化组件测试样式化组件';谁是提供者?,reactjs,enzyme,styled-components,Reactjs,Enzyme,Styled Components,有没有一种方法可以使用样式化组件的方法和样式化组件的ThemeProvider包装器来测试样式化组件的文本内容 class MyComponent extends React.component { ... render(){ return ( <StyledComponent_A> <StyledComponent_B> some text
class MyComponent extends React.component {
...
render(){
return (
<StyledComponent_A>
<StyledComponent_B>
some text
</StyledComponent_B>
</StyledComponent_A>
);
}
}
test('text is \'some text\'', () => {
const wrapper = shallow(
<ThemeProvider theme={theme}>
<MyComponent />
</ThemeProvider
);
const text = wrapper.dive().find(StyledComponent_B).text();
expect(text).toBe('some text');
});
类MyComponent扩展了React.component{
...
render(){
返回(
一些文本
);
}
}
测试('文本是'一些文本',()=>{
常数包装=浅(
使用文本()输出类似于
因此,您需要使用children(),以获取样式化元素的内容。
大概是这样的:
const text = wrapper.find(StyledComponent_B).children().text();
expect(text).toBe('some text');
我相信这只适用于酶的mount()。