2017-10-25 10 views
0

효소를 사용하여 반응 성분에 대한 테스트를 작성합니다. 스냅 샷 테스트를 위해 소품에 값을 전달해야합니다. 어떻게 유형 소품 값을 전달합니다 :PropTypes.node.isRestired 유형의 prop에 값을 전달하는 방법 jest enzyme test?

Foo.propTypes = { 
    children: PropTypes.node.isRequired 
text: PropTypes.string.isRequired 
    } 

Foo.test.jsx을 :

it('captures screenshot of foo',()=> { 
const renderedvalue = renderer.create(<Foo text='test' />.toJSOn(); 
expect(renderedvalue).toMatchSnapshot(); 
{); 

아이 애드 팍 때, 그것을 가치를 전달하는 경고 부여합니다 그래서. 하지만 나는 그것을 위해 가치를 전달하는 방법을 잘 모르겠습니다. 나는 시도했다 :

const children= <div /> 
const renderedvalue = renderer.create(<Foo text='test' children={children}/>.toJSOn(); 

그러나 실패했다. 누군가가 스냅 샷 테스트를 효소 이러한 2 개 소품 유형에 대한 값을 전달하는 방법을 아는 저를 도와 주실 수

을 PropTypes.object.isRequired : 마찬가지로, 다른 속성이

카드 PropTypes.object.isrequired있다.

감사합니다.

답변

0

children은 내장되어있는 특수한 도구입니다. 이는 구성 요소가 다른 구성 요소 나 요소를 래핑한다는 의미입니다.

다음과 같이하십시오 :

it('captures screenshot of foo',()=> { 
const renderedvalue = renderer.create(
    <Foo text='test'> 
     </div>hello</div> 
    </Foo> 
    ).toJSOn(); 
expect(renderedvalue).toMatchSnapshot(); 
{); 
+0

나는이 방법을 시도했지만 나는 다음과 같은 오류가 점점 오전 : 불가 위반 : getNodeFromInstance을 : 잘못된 인수 renderer.create (

hello
를) .toJSON(); –