5

ジェスト/酵素テストが失敗する理由を理解しようとしています。compose次のように構造化された redux の関数を使用するコンポーネントがあります。

class MyComponent extends Component {
    //code here
}

export default compose(
    connect(mapStateToProps),
)(MyComponent)

私の冗談のテストでは、これを行います:

Import { MyComponent } from ‘app/MyComponent’;

describe(‘<MyComponent />’, () => {
    let component;
    beforeEach(() => {
        props = {
            id: ‘23423’     
        }
        component = shallow(<MyComponent {…props} />);
    }


    it(‘Loads correctly’, () => {
        expect(component.state(‘isLoading’)).toEqual(true);
        expect(component.find(‘InnerComponent’).length).toBe(1);
}

ただし、「未定義のプロパティ「状態」を読み取れません」などのエラーが表示されます。浅いレンダリングを使用しても必要な正確な構造が得られないことは理解していますが、正しい構造を取得するために他に何をすべきかわかりません。ラップされたコンポーネントを浅くレンダリングしてから、ラップされていないコンポーネントをその中に見つけようとしましたがcomponent = shallow(<MyComponent {...props} />).find('MyComponent').shallow();、うまくいきませんでした。他の提案をいただければ幸いです。`

4

1 に答える 1