私はJestとEnzymeを使ってReactコンポーネントをテストしています。時々私は自分自身の上に同じものを入力してfind()
を使用しての上に見つけたので、私は次のように私のコードを枯渇しようとした:React Testing:DRYnessの変数に酵素のfind()出力を保存する
反復コード
component.setProps({ something: 'hello' });
expect(component.find('SomeField').prop('disabled')).toBe(false);
component.setProps({ something: 'good' });
expect(component.find('SomeField').prop('disabled')).toBe(true);
component.setProps({ something: 'abc' });
expect(component.find('SomeField').prop('disabled')).toBe(false);
DRY
const someField = component.find('SomeField');
component.setProps({ something: 'hello' });
expect(someField.prop('disabled')).toBe(false);
component.setProps({ something: 'good' });
expect(someField.prop('disabled')).toBe(true);
component.setProps({ something: 'abc' });
expect(someField.prop('disabled')).toBe(false);
の試み
与えられるもの:
component = shallow(<MyComponent />);
ただし、この方法は機能しません。なぜ誰かが説明できますか?さらに、それが可能であれば、誰かがそれを乾燥させる方法を提案することができればうれしいでしょう。