2017-10-25 6 views
0

酵素を使って反応成分のテストを書いています。私はスナップショットテストのために小道具に値を渡さなければなりません。どのようなタイプを支えるために値を渡す:Propestypes.node.isRequiredタイプの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(); 
{); 

はIsRequiredこのので、それはそれのために値を渡すために警告できます。しかし、私はそれのために価値を渡す方法がわかりません。私は試しました:

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

しかし、それは失敗しました。同様に、別のプロパティがある

カードPropTypes.object.isrequired:

をPropTypes.object.isRequiredを誰かがスナップショットのテストを酵素にこれらの2つのプロップタイプの値を渡す方法を知っている私を助けてください。

ありがとうございます!

答えて

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(); –

関連する問題