Reactjs 如何测试呈现智能组件的redux哑组件?
在使用Reactjs 如何测试呈现智能组件的redux哑组件?,reactjs,redux,Reactjs,Redux,在使用enzyme/jsdom呈现之前,可以通过传递道具来测试“dumb”React视图。然后可以使用快照测试来验证行为(如jest) 由与MapStateTrops/mapDispatchToProps连接的“哑视图”组成的智能组件可以通过以下方式进行测试: 单元测试mapXxxToProps检查逻辑是否正确 测试dumb视图 和选项分析: 通过将智能组件包装到提供程序中来呈现智能组件 然而,每当一个愚蠢的视图开始嵌套其他智能容器时,这似乎就会中断;仅使用道具无法呈现哑视图,因为链中的某些子组
enzyme
/jsdom
呈现之前,可以通过传递道具来测试“dumb”React视图。然后可以使用快照测试来验证行为(如jest
)
由与MapStateTrops
/mapDispatchToProps
连接的“哑视图”组成的智能组件可以通过以下方式进行测试:
mapXxxToProps
检查逻辑是否正确dumb
视图我遗漏了什么吗?使用Ezyme,您可以使用测试来测试哑组件是否正在呈现预期的智能组件,而不是实际完全呈现它们 组件(
Bar
是智能组件):
constfoo=()=>{
返回(
)
}
测试:
import{shall}来自“酶”;
...
它('应该呈现组件',()=>{
常量包装器=浅()
expect(wrapper.contains()).to.be.true
})
使用Ezyme,您可以使用测试来测试哑组件是否正在呈现预期的智能组件,而不需要实际完全呈现它们
组件(Bar
是智能组件):
constfoo=()=>{
返回(
)
}
测试:
import{shall}来自“酶”;
...
它('应该呈现组件',()=>{
常量包装器=浅()
expect(wrapper.contains()).to.be.true
})
const Foo = () => {
return (
<div>
<Bar />
</div>
)
}
import { shallow } from 'enzyme';
...
it('should render <Foo /> component', () => {
const wrapper = shallow(<Foo />)
expect(wrapper.contains(<Bar />)).to.be.true
})