2017-11-07 25 views
0

私は動かすことができません。メソッド呼び出しのような模擬実装を提供すれば、それは機能します。しかし、モックコールバック実装でそれを置き換えると、動作を停止します。私は間違って何をしていますか?それはあなたがnavigate()が呼び出されていないモックを定義している時に実行されるためJest - コールバックを使用する関数を嘲笑します

// Module.js 
export default class Module { 
    static navigate(payload, callback) { ... } 
} 

// setupJest.js 
jest.mock('../src/Module',() => ({ 
    navigate: jest.fn(console.log('test'))     // works great 
    navigate: jest.fn((payload, callback) => { callback() }) // does NOT work 
})); 
+0

一つの回避策は、( '移動:jest.fn(にconsole.log(「テスト」))')最初の文を残すことである、それは(setupJest.js)であり、実際の内部に第二の文を移動この形式でテストします: 'Module.navigate = jest.fn((ペイロード、コールバック)=>コールバック());' –

答えて

0

唯一の理由console.log('test')の作品があります。

コードがnavigate()(これはわかりません)と明示している限り、実際にはjest.fn()は必要ありません。

jest.mock('../src/Module',() => ({      
    navigate(payload, callback){ 
    console.log('is this really running?') 
    callback(); 
    }) 
})); 
関連する問題