対必要テストされているモジュールの依存関係がない場合、モジュールがES6インポートステートメントで依存関係をインポートした場合、テストスイートは実行されません。TypeError: (0 , _dependency.default) is not a function
この場合、モジュールはrequire().default
呼び出しを代わりに使用します。冗談は私がここの周りに冗談を持つデフォルトの輸出のモックを参照の質問を見てきましたが、私は、これはすでに求められているとは思わない輸入
私の理解では、import module from location
はconst module = require(location).default
に直接変換されるので、なぜこれが起こっているのか非常に混乱しています。私はむしろ私のコードスタイルを一貫性を保ち、元のモジュールでrequire
コールを使用しないでください。
これを行う方法はありますか?モックと
テストファイル:(動作しない)
import './modules.js';
import dependency from './dependency';
jest.mock('./dependecy',() => {
return {
default: jest.fn()
};
});
// This is what I would eventually like to call
it('calls the mocked function',() => {
expect(dependency).toHaveBeenCalled();
});
Dependency.js
export default() => console.log('do something');
module.js(作業)
import dependency from './dependency.js';
dependency();
module.js
const dependency = require('./dependency.js').default;
dependency();
'jest.mock'から別のモジュールで起こっ' dependency'呼び出しですコール? – MinusFour
should 'jest.mock(' ./ dependecy '、()=> jest.fn()); 'どちらの場合でも動作しますか? –
テストファイルのコードを更新して、モジュールがインポートされ、実行されていることをテストしていることを示しました。 –