2017-09-17 12 views
0

Jestでreduxアクションをテストしようとしています。 React Nativeを使ってアニメーションライブラリを嘲笑することになると、私は問題に直面しています。ここに私の(凝縮)コードです:私のテストでJest - Reactネイティブアニメーション付きReduxアクション作成者

// action.js 
const loginAction =() => { 
    Animated.timing(animation, { 
    toValue: 0, 
    duration: 600 
    }).start(() => { 
    dispatch({ type: 'LOGIN_SUCCESS' }); 
    }); 
} 

// mock-setup.js 
jest.mock('Animated',() => { 
    return { 
    timing: jest.fn(() => { 
     return { 
     start: jest.fn() 
     }; 
    }), 
    Value: jest.fn(() => { 
     return { 
     interpolate: jest.fn() 
     }; 
    }) 
    }; 
}); 

、私は派遣アクションを比較しようとしたんだけど、私はstart機能のコールバックの内側に行くために私のテストを得るように見えることはできません。何かご意見は?

答えて

0

私の答えが見つかりました!このように見えるために必要なマイAnimatedモック:

jest.mock('Animated',() => { 
    return { 
    timing: jest.fn(() => { 
     return { 
     start: callback => callback() 
     }; 
    }), 
    Value: jest.fn(() => { 
     return { 
     interpolate: jest.fn() 
     }; 
    }) 
    }; 
}); 

start関数は関数に渡さので、私はちょうど私の嘲笑バージョンの機能を実行するための方法を提供するために必要とされます。

関連する問題