Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单元测试连接反应/酶中的高阶组分_Javascript_Reactjs_React Redux_Mocha.js_Enzyme - Fatal编程技术网

Javascript 单元测试连接反应/酶中的高阶组分

Javascript 单元测试连接反应/酶中的高阶组分,javascript,reactjs,react-redux,mocha.js,enzyme,Javascript,Reactjs,React Redux,Mocha.js,Enzyme,在正常的connected React组件中,为了使单元测试更容易,我看到了。它适用于处理组件实际功能的简单测试,而不会被redux存储和路由器模拟弄得乱七八糟 我正在寻找一个模拟高阶组件。例如,给定一个简单的高阶组件: export default function exampleHoc(Wrapped) { const ExampleHoc = props => ( <Wrapped {...props.reduxStore} hoc={true} /> )

在正常的
connect
ed React组件中,为了使单元测试更容易,我看到了。它适用于处理组件实际功能的简单测试,而不会被redux存储和路由器模拟弄得乱七八糟

我正在寻找一个模拟高阶组件。例如,给定一个简单的高阶组件:

export default function exampleHoc(Wrapped) {
  const ExampleHoc = props => (
    <Wrapped {...props.reduxStore} hoc={true} />
  );

  return connect(
    state => ({
      reduxStore: state.example.reduxStore,
    }))(ExampleHoc);
}
这使得测试变得容易

const DummyComponent = () => <div />;
const Sut = exampleHoc(DummyComponent, true);

...

test('props value should be passed', () => {
  const sut = shallow(<Sut />);
  const childProps = sut.find(DummyComponent).props();
  expect(sut.childProps.hoc).to.equal(true);
});
const DummyComponent=()=>;
const Sut=exampleHoc(DummyComponent,true);
...
测试('props值应通过',()=>{
const sut=浅();
const childProps=sut.find(DummyComponent.props();
expect(sut.childProps.hoc).to.equal(true);
});
同时仍然愉快地将包装好的输出传递给该方法的任何常规调用方


它能用,但我觉得它很笨重。是否有更好的/已建立的模式用于交付高阶组件的未包装内部?

您需要测试exampleHoc?我相信您不需要让DummyComponents成为一种方法,它需要应用一个目标
DummyComponent
提供了这一功能,以便可以检查其给定的
props
您可以在不使用
Dummycamp
的情况下尝试此操作吗?让我知道您在运行测试时遇到了什么问题
const DummyComponent = () => <div />;
const Sut = exampleHoc(DummyComponent, true);

...

test('props value should be passed', () => {
  const sut = shallow(<Sut />);
  const childProps = sut.find(DummyComponent).props();
  expect(sut.childProps.hoc).to.equal(true);
});