2016-09-27 96 views
0

我意识到建议使用文件来运行根据their docs的Jest测试。但有没有什么办法可以通过编程方式加载babelrc config,因此不必为每个React项目创建这个文件?此外,我意识到我可以在我的package.json文件中加入一些东西,但我不想这样做。避免让.babelrc文件用于Jest测试

回答

3

您可以利用Jest的scriptPreprocessor配置设置。我创建了一个文件,看起来像这样,它的工作:

const babel = require('babel-core') 
const jestPreset = require('babel-preset-jest') 

module.exports = { 
    process: function (src) { 
    const transformCfg = { 
     presets: ['es2015', 'react', 'stage-0', jestPreset], 
     retainLines: true 
    } 
    return babel.transform(src, transformCfg).code 
    } 
} 
+0

嗨,我已经有一个.babelrc文件用于别的东西。我不想让jest引用它,而是从其他文件中读取配置,如上面创建的那样。那可能吗? –

+1

2017年更新 - 您应该将上述内容放置在'preprocessor.js'文件中,然后从'transform'选项('scriptPreprocessor''已被移除)中引用它。完整的例子[这里](https://github.com/facebook/jest/blob/master/examples/typescript/package.json) –