Jest是否可以同时使用多个预设?

时间:2018-06-23 15:12:42

标签: javascript reactjs unit-testing react-native jestjs

是否可以将Jest与多个预设一起使用,例如jsdom和react-native?

我想测试一个既可以在Web上也可以在React Native环境中工作的React组件。问题在于该组件可能使用React Native库或某些文档的方法。

当我运行一些测试时,开玩笑地回答:

  

无法从“ react-native-implementation.js”中找到模块“ NetInfo”

当我尝试添加

"jest": {
  "preset": "react-native"
}

到package.json,我得到:

  

ReferenceError:未定义窗口

3 个答案:

答案 0 :(得分:11)

预设只是普通的Javascript对象,因此在许多情况下,您可以简单地合并它们。例如,这就是我同时启用 seriesid(pk) , modelid(fk) ,seriesname, seriesactive ts-jest的方式:

jest-puppeteer

如果某些选项无法像这样“合并”,只需手动处理这些情况。

答案 1 :(得分:4)

沿着这些相同的行,您可以使用传播运算符执行此操作:

xs:precisionDecimal

答案 2 :(得分:0)

对于正在寻找一种预设以及typeScript的人

const { defaults: tsjPreset } = require('ts-jest/presets')

module.exports = merge.recursive(ts_preset, puppeteer_preset, {
    preset: 'Your_Preset',
    transform: tsjPreset.transform,
    },
})