Jest.js js仅用于开玩笑

kdfy810k  于 2022-12-08  发布在  Jest
关注(0)|答案(2)|浏览(193)

我们在一个react typescript项目中使用了jest。如果有一个babel.config.js带有预设:[@babel/preset-env]测试运行成功。但是由于babel文件的存在,我们的next.js web项目不再编译。
我如何设置这个babel.config.js只为开玩笑,而不是为下一个. js?

nfg76nw0

nfg76nw01#

请参见使巴别塔配置可识别jest
Jest会将process.env.NODE_ENV设置为'test',如果它没有被设置为其他值的话。你可以在你的配置中使用它来有条件地只设置Jest所需要的编译,例如。
babel.config.js

module.exports = api => {
  const isTest = api.env('test');
  // You can use isTest to determine what presets and plugins to use.

  return {
    // ...
  };
};
7d7tgy0s

7d7tgy0s2#

@slideshowp2的另一个解决方案是使用一个单独的babelrc文件,该文件仅用于jest。
例如,你可以将其命名为babel.config.testing.js,然后在jest.config.js文件中,告诉jest使用这个专用的babelrc文件:

module.exports = {
  transform: {
    '\\.js$': ['babel-jest', { configFile: './Configuration/babel.config.testing.js' }]
  },

};

参考:https://github.com/facebook/jest/issues/3845#issuecomment-645298425

相关问题