Reactjs 条件反应呈现单元测试
我正试图用Jest和Ezyme编写一些关于React+Redux的单元测试 我被困在如何在条件呈现容器中编写单元测试上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>//
...
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)
})
})