I have Jest installed on my machine and typing jest
from terminal results in tests from parent folers also getting executed. I want to run tests only from the current folder.
For e.g. if I go to c:/dev/app
in terminal and type some-jest-command
, it should only run files with .test.js
present in the app
folder. Currently, running jest
command from app
folder runs tests in parent folders too, which is not my desired behaviour.
6条答案
按热度按时间0kjbasz61#
默认情况下,Jest将尝试递归测试
package.json
文件夹中的所有内容。假设你在
c:/dev/app
中,而你的package.json
在c:
中,如果你调用Jest的基本命令是npm test
,那么试着运行npm test dev/app
。7uzetpgm2#
如果你想从一个特定的文件夹运行测试,使用--testPathPattern jest标志。当设置npm脚本时,也添加文件夹的路径。在你的package.json中,在你的npm脚本中添加标志。检查下面的代码以获得一个示例。
之后,打开命令行,更改项目所在的目录并运行单元测试。
或集成测试。
或者如果您只想运行一个特定文件的测试
yks3o0rb3#
只在特定目录下运行测试,并强制Jest只读取特定类型的文件(我的例子:'ExampleComponent.test.js'对于新Jest版本@24.9.0,您必须在jest.config.json中准确写入“testMatch”||
"testMatch": [ "<rootDir>/src/__tests__/**/*.test.js" ]
下一个“jest”部分中的package.json,在我的示例中,此testMatch会命中tests/subdirectories/中前缀为. test.js的所有文件,并跳过“mocks”子目录(位于“tests”目录中)中的所有其他文件(如“setupTest.js”和其他.js文件),因此,我的“jest.config.json "如下所示只需根据您需要调整'testMatch'正则表达式
一点注意:这是为jest@24.9.0和酶@3.10.0,如果它对任何人都重要的话。
我希望它会对某人有用,干杯。
atmip9wb4#
q1qsirdb5#
从项目的根目录下,您可以运行
jest <substring of files>
,它将只运行包含您添加的子字符串的测试文件。8gsdolmq6#
Yarn:
国家/分钟:
例如,如果您有一个名为
widget
的文件夹,并且只想运行widget
文件夹中的测试,则可以运行此命令。Yarn:
国家/分钟: