私は酵素の浅いレンダリングを使用してテストしているSFCを持っています。私はこのステートレスコンポーネントに小道具としてインラインスタイルのスタイルオブジェクトを渡しています。しかし、私はそれにユニットテストを適用すると、それは未定義を返します。私はこのコンポーネントがちょうど小道具として渡されたものを返していることを理解しているので、何も渡されない/レンダリングされて、私に未定義を与えていると私は分かりません。このための回避策はありますか?酵素:ステートレス機能コンポーネントは未定義の小道具を返します
const LoginForm = ({ style, handleSubmit }) => {
return (
<form onSubmit={handleSubmit}>
<div style={_.get(style, 'container')}>
{inputFields}
</div>
</form>
);
};
テスト:
it('should apply styles to first div',() => {
const wrapper = shallow(<LoginForm style={{display: 'inline'}}/>);
expect(wrapper.find('div').first().prop('style')).to.eql({display: 'inline'});
});
にこれを比較しようとしたとき、あなたが
container
性質を持っていない供給しているオブジェクトので、div要素のstyle
小道具は{style: undefined}
に等しくなり、テストは失敗しますか? –@MichaelParker更新 – Umair