2016-04-13 3 views
1

私は店に接続されているコンポーネントを持っています。そして、私は反応コンポーネント内の関数をテストしなければなりません。どのように私はその機能に到達することができますか?反応内の接続されたコンポーネント内の関数をテストするにはどうすればよいですか?

例:

var newReactComponent = React.createClass({ 
    functionToBeTested: function(){ 
     this.props.actions.fetchAll(); 
    } 
}); 
var mapStateToProps = function (state) { 
     return { 
      cars: state.carReducer.cars 
     } 
    }; 

    var mapDispatchToProps = function (dispatch) { 
     return { 
      actions: bindActionCreators(_.assign({}, carActions, apiActions), dispatch) 
     } 
    }; 

    module.exports = connect(mapStateToProps, mapDispatchToProps)(newReactComponent); 
` 

答えて

0

あなたはテスト環境でそれらにアクセスできるように、あなたに必要なオブジェクトを返すようにコネクト機能を模擬することができます。

このようにして、newReactComponentにアクセスし、反応成分をマウントすることができます(酵素からの浅さを使用して)。

マウントしたら、クラスメソッドにアクセスできます。

このような何か:私は同様の質問here

に答えている

const actions = {fetchAll: jest.fn()} 
 
const wrapper = shallow(<newReactComponent actions={actions} />); 
 
wrapper.instance().functionToBeTested(); 
 
expect(actions.fetchAll).toBeCalled();

関連する問題