您可能会尝试将testPathIgnorePatterns用作cli参数,但请注意,这会导致意外的副作用,因为它会破坏使用npm test TestName或npm test -- -t TestName运行单个测试的能力。 这是因为,据我所知,testPathIgnorePatterns是令人难以置信的贪婪,因为testPathIgnorePatterns参数之后的任何参数都将被用作testPathIgnorePatterns的值。 例如: 如果我在package.json中设置了以下内容:
"test": "react-scripts test --testPathIgnorePatterns=e2e",
然后跑:npm test MyTest 则生成的命令为:react-scripts test --testPathIgnorePatterns=e2e "App" 和笑话将被忽略e2e和App! 我发现的一个解决方法是不使用testPathIgnorePatterns cli参数,而是使用testMatch jest配置。 假设我想忽略e2e目录中的所有文件,那么我可以使用以下正则表达式:
2条答案
按热度按时间waxmsbnn1#
package.json
仅允许您使用create-react-app
覆盖以下Jest配置溶液1
弹出Create React应用程序并使用
testPathIgnorePatterns
进行配置。溶液2
您仍然可以通过将
--testPathIgnorePatterns
选项传递给react-scripts test
来覆盖Jest的配置。例如:
svujldwt2#
您可能会尝试将
testPathIgnorePatterns
用作cli参数,但请注意,这会导致意外的副作用,因为它会破坏使用npm test TestName
或npm test -- -t TestName
运行单个测试的能力。这是因为,据我所知,
testPathIgnorePatterns
是令人难以置信的贪婪,因为testPathIgnorePatterns
参数之后的任何参数都将被用作testPathIgnorePatterns
的值。例如:
如果我在
package.json
中设置了以下内容:然后跑:
npm test MyTest
则生成的命令为:
react-scripts test --testPathIgnorePatterns=e2e "App"
和笑话将被忽略
e2e
和App
!我发现的一个解决方法是不使用
testPathIgnorePatterns
cli参数,而是使用testMatch
jest配置。假设我想忽略
e2e
目录中的所有文件,那么我可以使用以下正则表达式:或者,如果我只想包含某个目录中的测试,我可以用途: