2017-04-04 2 views
1

"dumb"반응보기는 enzyme/jsdom으로 렌더링하기 전에 소품을 전달하여 테스트 할 수 있습니다. 그런 다음 스냅 샷 테스트를 사용하여 동작을 확인할 수 있습니다 (jest).스마트 구성 요소를 렌더링하는 redux 바보 구성 요소를 테스트하는 방법은 무엇입니까?

mapStateToProps/mapDispatchToProps 접속 된 '벙어리 뷰'구성된 스마트 성분에 의해 시험 될 수 논리를 확인

  1. 유닛 테스트 mapXxxToProps하면
  2. dumb보기
테스트 권리

및 옵션 naly :

  1. 공급자에서 랩핑하여 스마트 구성 요소를 렌더링합니다.

그러나 이것은 바보 뷰가 다른 스마트 컨테이너를 중첩하기 시작할 때마다 중단되는 것으로 보입니다. 체인을 따라 내려가는 자식 구성 요소 중 일부에는 저장소가 필요할 수 있기 때문에 벙어리보기의 렌더링은 소품만으로는 불가능합니다.

방법이 있습니까?

내가 누락 된 항목이 있습니까?

답변

0

효소를 사용하면 shallow render을 사용하여 실제 구성 요소를 실제로 렌더링하지 않고 예상되는 스마트 구성 요소를 렌더링한다는 테스트를 할 수 있습니다.

const Foo =() => { 
    return (
     <div> 
      <Bar /> 
     </div> 
    ) 
} 

시험 :

import { shallow } from 'enzyme'; 

... 

it('should render <Foo /> component',() => { 
    const wrapper = shallow(<Foo />) 
    expect(wrapper.contains(<Bar />)).to.be.true 
}) 

성분 (Bar 스마트 성분이다)

관련 문제