怎么让柴测试通过?

时间:2016-10-29 06:28:06

标签: unit-testing reactjs react-redux chai

我已经为reactjs app编写了我的第一个单元测试:

 it('should display  props.text', () => {
        const props = {
           data: {
              completed: false,
              id: 1,
              text: 'hey boer'
           }
        };

        const wrapper = mount(<SubComponent {...props} />);
        const part = wrapper.find('.mystuff');

        //try to see whether the mockdata is present
        expect(part).to.contain('hey boer');
 });

这是我的组成部分:

import React, {Component, PropTypes} from 'react';

export class SubComponent extends React.Component {

    constructor(props) {
       console.log('cons servicedetails props', props);
        super(props);
    }

    render() {
        return (
            <div className="mystuff">this is the subcomponent. {this.props.myprops.data.text}</div>
        )
    }
}

export default SubComponent;

当我运行测试时,我收到此错误:

 SubComponent should display  props.text:
 TypeError: Cannot read property 'data' of undefined

如何检查我的道具(模拟)数据是否实际注入SubComponent?我的程序运行没有错误,但单元测试会抛出错误?另见here

1 个答案:

答案 0 :(得分:3)

在chai api上没有text的断言。

你应该做类似的事情 -

  

期望(&#39; foobar的&#39;)to.contain。(&#39;富&#39);