ウェブサイト検索

javascript - JestとTypeScriptでJSONのインポートをモックする方法


Typescriptでのユニットテストのために、Jestを使って.jsonファイルをモックしたいです。

私は現在、jest.config.jsファイル内でこのグローバルモックを使用しています。そして、これは問題なく動作しています:

    'package.json': '<rootDir>/__tests__/tasks/__mocks__/data.json'

しかし、私はそれをテストクラス内でローカルにモックしたいです。

これは私にはうまくいきませんでした:

jest.mock('../../package.json', () => ({
    package : { name: '__name__', 'version': '__version__'};
}), { virtual: true })

回答 #1

次のことを試してみましたか?

const packageJson = require('../../package.json);
 jest.mock(packageJson, () => ({
     package : { name: '__name__', 'version': '__version__'};
 }), { virtual: true })