如何解决在create-react-app中开玩笑不会运行更改的文件
当我在React / Redux应用程序中编辑并保存对测试的更改(例如src/reducers/nodes.test.js
)时,Jest不会运行该测试。我看到它选择运行的其他一些测试都通过了测试,因为它认为与更改的文件“相关”。我需要按a
并运行所有测试作为应用程序,以强制运行我修改的测试,然后查看失败。
我对Jest的观察者的理解是,它试图根据Git中更改的文件来聪明地找出要运行的测试。没有运行我刚刚更改的确切文件,似乎严重不足。
此测试文件已检入Git,并显示了我的差异和git ls-files --other --modified --exclude-standard
中的更改,我相信这是Jest考虑的过滤器。此外,它正在测试的文件src/reducers/nodes.js
目前也已签入并列为另一个修改过的文件(因为我正在使用它)。
我尝试通过在我的--watchAll
中添加package.json
来解决此问题,例如"test": "react-scripts test --env=jsdom --watchAll"
,认为这将迫使所有测试在每次编辑时都运行。我所读到的有关Jest的所有内容都表明,在选择要运行的更好测试集方面,它应该做得很棒,而我不需要这样做。
令人惊讶的是,仍然产生了相同的结果:运行了一部分测试,不包括我刚刚更改的测试:
PASS src/reducers/editor.test.js
PASS src/reducers/arrows.test.js
PASS src/reducers/relations.test.js
PASS src/operatorShape.test.js
PASS src/App.test.js
Test Suites: 5 passed,5 total
Tests: 15 passed,15 total
Snapshots: 0 total
Time: 1.274s
Ran all test suites.
Watch Usage: Press w to show more.
那是Ran all test suites
!但是,当我按a
时,我可以运行更多测试:
PASS src/reducers/editor.test.js
FAIL src/reducers/nodes.test.js
(failed test data that I assume is not relevant to the issue)
PASS src/reducers/arrows.test.js
PASS src/App.test.js
PASS src/reducers/relations.test.js
PASS src/operatorShape.test.js
Test Suites: 1 failed,5 passed,6 total
Tests: 1 failed,1 skipped,24 passed,26 total
Snapshots: 0 total
Time: 1.445s
Ran all test suites.
Watch Usage: Press w to show more.
这使我想知道我是否仅需要更新Jest。我两年前用create-react-app创建了我的React App(一直有这个问题)。从那时起,肯定对Jest进行了改进。我在package-lock.json中看到我有"react-scripts"
"version": "3.4.3"
,它似乎是最新的稳定版本,并且它使我"jest": "24.9.0"
。我看到Jest现在可以在版本26上使用,但是看来该React工具不允许自己升级Jest,除非我“弹出”它,看来是discouraged。
在我走这条痛苦的路线之前,我是否遗漏了一些东西,为什么我当前的Jest 24.9.0没有运行我修改的测试文件?
我正在使用Ubuntu 20.04。 node v9.8.0
,npm v6.9.0
我的package.json文件:
{
"name": "radraw","version": "0.1.0","private": true,"dependencies": {
"classnames": "^2.2.6","react": "^16.13.1","react-contenteditable": "^3.3.5","react-dom": "^16.8.4","react-draggable": "^3.2.1","react-redux": "^7","react-scripts": "^3.4.3","redux": "^3.7.2"
},"scripts": {
"start": "react-scripts start","build": "react-scripts build","test": "react-scripts test --env=jsdom","eject": "react-scripts eject"
},"browserslist": [
">0.2%","not dead","not ie <= 11","not op_mini all"
]
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。