2016-11-18 4 views
0

React.PropTypesに組み込まれている検証を、テストや他のコードでprogrmaticallyで再利用する簡単で簡単な方法はありますか?私が持っている場合たとえばテストやコードの他の部分でreactのPropTypeを再利用しますか?

、:

ButtonX.propTypes = { 
    className: React.PropTypes.string 
}; 

私は数値クラス名と、そのボタンをロードする場合は、コンソールに警告が表示されます反応します。それらの内部にアクセスもを得るための知られているクリーンな方法はあり

validateButtonUsingReactPropTypes({ className: 'my-class' }) 

私は、コード内のすべてのそのロジックを再利用、など何かをしたいですか?

+0

'propTypes'は本番環境では使用されないので、本番環境でのテスト時に依存しないように注意してください。 –

答えて

1

文書でTest Utilitiesの記事をチェックしてください...テストのためにバリデータにアクセスする方法の例をいくつか提供すると思います。

例は、React GitHubリポジトリのReactJSXElementValidator-test.jsのコードに基づいて、renderIntoDocumentを使用しています。

// arrange 
RequiredPropComponent = class extends React.Component { 
    render() { 
    return <span>{this.props.prop}</span>; 
    } 
}; 
RequiredPropComponent.displayName = 'RequiredPropComponent'; 
RequiredPropComponent.propTypes = {prop: React.PropTypes.string.isRequired}; 

// act 
ReactTestUtils.renderIntoDocument(<RequiredPropComponent prop={null} />); 

// assert 
let testPassed = console.error.calls.count() == 0 

明らかにこれをいくつかの優れたテストツールに組み込むことはできますが、これは生の呼び出しに過ぎません。

関連する問題