2017-11-25 119 views
1

最近從mocha遷移到jest,我遇到了一個問題。我有很多的警告在我的測試:Jest:如何全局模擬node-uuid(或任何其他導入的模塊)

[SECURITY] node-uuid: crypto not usable, falling back to insecure Math.random()

現在,添加以下行到每個文件修復該問題,但針對特定測試文件:

jest.mock('node-uuid',() => ({ v4: jest.fn(() => 1) }));

我希望有一種方法來模擬node-uuid全球所有測試而不是單個文件?我做了一堆搜索,並在我的設置文件中嘗試了不同的技術,但無濟於事。

回答

4

您可以定義在[root]/__mocks__/node-uuid.js 其中[root]一個manual-mock是在node_modules目錄所在的目錄:

module.exports = { v4: jest.fn(() => 1) } 
+1

謝謝!這有效 - 需要注意的一件重要的事情是,如果你在配置中設置了'rootDir',那麼'__mocks__'文件夾必須到達該位置的任何位置。我會upvote這個答案,但我沒有足夠的代表呢... –