Reactjs 如何在单元测试应用程序中同时使用Karma和Jest?
我正在测试一个已经开发的React应用程序。该应用程序有一些用Karma编写的单元测试用例,但我将使用Jest对该应用程序进行单元测试,因为它是facebook为测试React而开发的新框架。我面临的问题是因为文件Reactjs 如何在单元测试应用程序中同时使用Karma和Jest?,reactjs,karma-runner,babeljs,enzyme,jestjs,Reactjs,Karma Runner,Babeljs,Enzyme,Jestjs,我正在测试一个已经开发的React应用程序。该应用程序有一些用Karma编写的单元测试用例,但我将使用Jest对该应用程序进行单元测试,因为它是facebook为测试React而开发的新框架。我面临的问题是因为文件.babelrc。要使Jest正常运行,.babelrc文件的内容应如下所示: // .babelrc { "presets": ["es2015", "react"] } 但我现有的应用程序使用Karma,并具有如下babelrc文件内容: { "presets": [
.babelrc
。要使Jest正常运行,.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测试用例停止运行。在我用Jest重写现有的测试用例之前,有没有一种方法可以同时使用这两种方法?我能够同时运行Karma和Jest,所以想到了共享。我将babelrc
文件配置如下:
{
"env": {
"test": {
"presets": [
"es2015",
"react"
]
},
"development": {
"presets": [
"es2015",
"react"
],
"plugins": [
............
]
},
"production": {
"presets": [
"es2015",
"react"
],
"plugins": [
...............
]
}
}
}