如何使用React在我的代码中编写componentWillReceiveProps的测试用例

时间:2018-07-12 07:55:02

标签: reactjs

这是我的代码:

mpirun

请帮助我为此编写一个测试用例。在编写测试用例时,我必须同时介绍if和else语句。

1 个答案:

答案 0 :(得分:0)

您可以像这样测试componentWillReceiveProps

import ComponentName from ‘./ComponentName’;
import { shallow } from ‘enzyme’;
describe('componentWillReceiveProps()', () => {
    it('call commentChanged once', () => {
        const fakeCommentChanged =
        jest.spyOn(ComponentName.prototype, ‘commentChanged’);
        let defaultProps={isOpen:false}//define your props here
        const component = shallow(<ComponentName props={defaultProps}/>;
        changedProps={isopen:true}//define your nextProps here
        // triggers componentWillReceiveProps
        component.setProps(changedProps);
        //expectations
        expect(fakeCommentChanged).toHaveBeenCalled(); 
       //write more expectations for other checks like when nextProps.value!=this.state.comment
    })
})

我们可以为您提供if-else条件,只要我们知道您的组件状态结构和道具结构