Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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 React条件呈现组件测试用例jest_Javascript_Reactjs_Jestjs_Enzyme - Fatal编程技术网

Javascript React条件呈现组件测试用例jest

Javascript React条件呈现组件测试用例jest,javascript,reactjs,jestjs,enzyme,Javascript,Reactjs,Jestjs,Enzyme,有人能帮我写一个使用jest和Ezyme的条件渲染组件测试用例吗 {this.state.addingNewContent ? <AddContent contentId={this.state.contentId} added={this.addContentHandler} meta={option} closeAddContent={this.closeAddConte

有人能帮我写一个使用jest和Ezyme的条件渲染组件测试用例吗

{this.state.addingNewContent ?
          <AddContent
            contentId={this.state.contentId}
            added={this.addContentHandler}
            meta={option}
            closeAddContent={this.closeAddContent}
            assignedData={this.state[option.name]} />
          : <Lock
            lock={this.state.isLocked}
            lockedBy={this.state.lockedBy}
            clicked={() => this.toggleModal(true, 'lock')}>}
{this.state.addingNewContent?
:this.toggleModal(true,'lock')}>}

对于条件渲染,您需要模拟状态,如

import AddContent from '../COMPONENT';
import Lock from '../COMPONENT'

it('should render AddContent component', () => {
  const wrapper = shallow(<MyComponent {...props} />);
  wrapper.setState({ addingNewContent: true });
  const component = wrapper.find(AddContent);
  expect(component.length).toBe(1);
});

it('should render Lock Component', () => {
  const wrapper = shallow(<MyComponent {...props} />);
  wrapper.setState({ addingNewContent: true });
  const component = wrapper.find(Lock);
  expect(component.length).toBe(1);
});
从“../COMPONENT”导入AddContent;
从“../COMPONENT”导入锁
它('应该呈现AddContent组件',()=>{
常量包装器=浅();
setState({addingNewContent:true});
const component=wrapper.find(AddContent);
expect(组件长度).toBe(1);
});
它('应该呈现锁组件',()=>{
常量包装器=浅();
setState({addingNewContent:true});
const component=wrapper.find(锁);
expect(组件长度).toBe(1);
});

最好有单独的测试用例。

对于else用例?我得到的错误如下:expect(received)。toBe(expected)expected:1 received:0 mycomponent是您的类组件名称。我仍然得到这个错误expected(received)。toBe(expected)expected:1 received:0是否可以添加类组件的状态代码