Reactjs 条件反应呈现单元测试

Reactjs 条件反应呈现单元测试,reactjs,unit-testing,redux,jestjs,enzyme,Reactjs,Unit Testing,Redux,Jestjs,Enzyme,我正试图用Jest和Ezyme编写一些关于React+Redux的单元测试 我被困在如何在条件呈现容器中编写单元测试上 ... const {loading} = this.props if (loading) { return( <LoadingModal //Loading content /> ) } return(<div>//

我正试图用Jest和Ezyme编写一些关于React+Redux的单元测试

我被困在如何在条件呈现容器中编写单元测试上

...
 const {loading} = this.props

    if (loading) {
        return(
            <LoadingModal
              //Loading content
            />
        )
    }

    return(<div>//Regular APP</div>)
...

如果你们需要更多信息,请告诉我


提前感谢。

我已经读了很多关于这个问题的书,最终这段代码解决了我的问题

如果你们能找到更好的方法,请告诉我

import configureMockStore           from 'redux-mock-store'
import thunk                        from 'redux-thunk'
import {Provider}                   from 'react-redux';

您的组件从其道具获得加载,您可以在测试中传递:const wrapped=mount/shallowMy道具来自:const-mapStateToProps=state=>{loading:state.planets.loading}即使我通过:wrapped=mount我的应用程序,也会继续仅呈现加载版本。
import configureMockStore           from 'redux-mock-store'
import thunk                        from 'redux-thunk'
import {Provider}                   from 'react-redux';
let wrapped

describe('render loading', () =>{

    const mockStore = configureMockStore([thunk])

    const store = mockStore({
        loading: true
    })

    beforeEach(()=>{
        wrapped = mount(
            <Provider store={store}>
                <App/>
            </Provider>
        )
    })

    it('rendered loading',()=>{
        expect(wrapped.find(LoadingModal).length).toEqual(1)
    })
  })