如何在单元测试 React 应用程序中同时使用 Karma 和 Jest?
How to use Karma and Jest together in unit testing React application?
我正在测试已经开发的 React 应用程序。该应用程序有一些用 Karma 编写的单元测试用例,但我将使用 Jest 对应用程序进行单元测试,因为它是 facebook 开发的用于测试 React 的新框架。我面临的问题是因为文件 .babelrc
。为了 Jest 运行 fine .babelrc 文件的内容应该如下:
// .babelrc
{
"presets": ["es2015", "react"]
}
但我现有的应用程序使用 Karma 并具有如下 babelrc 文件内容:
{
"presets": [
"es2015",
"react",
"stage-0"
]
, "plugins": [
"transform-object-rest-spread"
, "transform-decorators-legacy"
, "transform-es2015-modules-amd"
]
}
当前 babelrc
文件不允许 Jest 正确 运行 并导致错误。但问题是我无法按照 Jest 的要求修改其内容,因为它会妨碍我的 Karma 测试用例停止 运行ning。在我用 Jest 重写现有测试用例之前,有没有一种方法可以同时使用两者?
我能够 运行 将 Karma 和 Jest 放在一起,所以想到了分享。我按如下方式配置了 babelrc
文件:
{
"env": {
"test": {
"presets": [
"es2015",
"react"
]
},
"development": {
"presets": [
"es2015",
"react"
],
"plugins": [
............
]
},
"production": {
"presets": [
"es2015",
"react"
],
"plugins": [
...............
]
}
}
}
我正在测试已经开发的 React 应用程序。该应用程序有一些用 Karma 编写的单元测试用例,但我将使用 Jest 对应用程序进行单元测试,因为它是 facebook 开发的用于测试 React 的新框架。我面临的问题是因为文件 .babelrc
。为了 Jest 运行 fine .babelrc 文件的内容应该如下:
// .babelrc
{
"presets": ["es2015", "react"]
}
但我现有的应用程序使用 Karma 并具有如下 babelrc 文件内容:
{
"presets": [
"es2015",
"react",
"stage-0"
]
, "plugins": [
"transform-object-rest-spread"
, "transform-decorators-legacy"
, "transform-es2015-modules-amd"
]
}
当前 babelrc
文件不允许 Jest 正确 运行 并导致错误。但问题是我无法按照 Jest 的要求修改其内容,因为它会妨碍我的 Karma 测试用例停止 运行ning。在我用 Jest 重写现有测试用例之前,有没有一种方法可以同时使用两者?
我能够 运行 将 Karma 和 Jest 放在一起,所以想到了分享。我按如下方式配置了 babelrc
文件:
{
"env": {
"test": {
"presets": [
"es2015",
"react"
]
},
"development": {
"presets": [
"es2015",
"react"
],
"plugins": [
............
]
},
"production": {
"presets": [
"es2015",
"react"
],
"plugins": [
...............
]
}
}
}