2017-07-11 2 views
0

React Nativeコンポーネントメソッドが別のメソッドを呼び出すかどうかをテストしようとしています。Reactネイティブコンポーネントメソッドを模擬し、それが呼び出されているかどうかテストする(Jest/Enzyme)

const render = shallow(<Login navigator={mock Navigator} />); 
const instance = render.instance(); 
instance.fetchAuthToken = jest.fn(); 
render.update(); 
// Call the handleFBAuth function (triggered by user clicking FB button) 
instance.handleFBAuth(); 

expect(instance.fetchAuthToken).toHaveBeenCalled(); 

handleFbAuth私は冗談スパイとここにからかってるfetchAuthTokenと呼ばれるコンポーネントのメソッドを呼び出します。 jest.fn模擬機能が、実際には、たとえばによって呼び出されていることを確認できます。コンソールログをその実装に入れますが、expectステートメントは常にfalseを返します。

私はおそらくここで何かを理解していないでしょう。何が問題なの?解決しよう

答えて

0

handleFBAuthは(嘲笑)非同期アクションを持っているので、私は彼らが解決するために0ミリ秒のsetTimeoutを使用する必要がありました。

関連する問題