mav*_*ick 11 javascript npm jestjs
我在我的机器上安装了Jest,并且jest
从终端输入结果导致来自父级的测试也被执行.我想只从当前文件夹运行测试.
例如,如果我进入c:/dev/app
终端并键入some-jest-command
,它应该只运行文件夹中.test.js
存在的app
文件.目前,jest
从app
文件夹运行命令也会在父文件夹中运行测试,这不是我想要的行为.
Ser*_*are 28
如果要从特定文件夹用户运行测试,请使用 --testPathPattern jest 标志。设置 npm 脚本时,还要添加文件夹的路径。在您的 package.json 中,在您的 npm 脚本中添加标志。检查波纹管代码以获取示例。
"scripts": {
....
"test:unit": "jest --watchAll --testPathPattern=src/js/tests/unit-tests",
"test:integration": "jest --watchAll --testPathPattern=src/js/tests/integration",
"test:helpers": "jest --watchAll jest --findRelatedTests src/js/tests/unit-tests/helpers/helpers.test.js"
....
},
Run Code Online (Sandbox Code Playgroud)
之后打开命令行,更改项目所在的目录并运行单元测试。
npm run test:unit
Run Code Online (Sandbox Code Playgroud)
或集成测试。
npm run test:integration
Run Code Online (Sandbox Code Playgroud)
或者如果您只想对一个特定文件运行进行测试
npm run test:helpers
Run Code Online (Sandbox Code Playgroud)
And*_*nko 19
默认情况下,Jest将尝试递归测试任何文件夹package.json
所在的所有内容.
让我们说你在c:/dev/app
,而你package.json
在c:
.如果您调用Jest的基本命令是npm test
,则尝试运行npm test dev/app
.
要仅在特定目录中运行测试并强制 Jest 仅读取某些类型的文件(我的示例:'ExampleComponent.test.js' 与新 Jest 版本 @24.9.0,您必须在 jest.config 中写入精确的“testMatch”。 json || package.json in "jest" part next "testMatch": [ "<rootDir>/src/__tests__/**/*.test.js" ]
,在我的例子中,这个 testMatch 命中测试/subdirectories/ 中带有前缀 .test.js 的所有文件,并跳过所有其他文件,如 'setupTest.js' 和其他 .js 文件' mocks ' 子目录位于 ' tests ' 目录中,所以,我的 'jest.config.json' 看起来像这样
{
"setupFiles": [
"raf/polyfill",
"<rootDir>/setupTests.js"
],
"snapshotSerializers": [
"enzyme-to-json/serializer"
],
"moduleNameMapper": {
"^.+\\.(css|less|scss|sass)$": "identity-obj-proxy"
},
"testMatch": [
"<rootDir>/src/__tests__/**/*.test.js"
]
}
Run Code Online (Sandbox Code Playgroud)
只需适应您的需求“testMatch”正则表达式。
一点注意:如果对任何人都很重要,这适用于 jest@24.9.0 &&酶@3.10.0。
我希望它对某人有用,大家欢呼。
归档时间: |
|
查看次数: |
10603 次 |
最近记录: |