javascript - yarn test(jest) 找不到使用 create-react-app 的测试
问题描述
我对 JavaScript 中的自动化测试相当陌生,并希望在我的工作中包含 Jest。
我在 create-react-app 中遵循了 Jest-Testing 的简单指南。
当我尝试使用yarn test运行测试时,它以监视模式启动,没有任何错误,然后给我:
No tests found, exiting with code 0
我的测试文件在 src/*.spec.ts 中。我试过 *.test.js,把它放在 src/__test__/(*.js | *.ts) 中。
我想不通,为什么它没有找到任何测试。
所以我创建了一个全新的 react 应用程序:
yarn create react-app test --typescript
cd .\test
yarn test
它给了我一个完全相同的错误(没有找到测试),一个简单的新 create-react-app。尝试使用和不使用打字稿。
我在全球范围内安装了 jest,并尝试在我的项目文件夹中仅使用jest作为命令进行测试。它找到了应有的测试,但是第一个 JSX 语句有语法错误:
4 |
5 | test('renders learn react link', () => {
> 6 | const { getByText } = render(<App />);
| ^
7 | const linkElement = getByText(/learn react/i);
8 | expect(linkElement).toBeInTheDocument();
9 | });
新的 create-react-app 中的package.json对我来说是这样的:
{
"name": "test",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/user-event": "^7.1.2",
"@types/jest": "^24.0.0",
"@types/node": "^12.0.0",
"@types/react": "^16.9.0",
"@types/react-dom": "^16.9.0",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-scripts": "3.4.1",
"typescript": "~3.7.2"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
我现在在 Windows10 上。我发现许多描述我的问题的错误,但由于微模式,Jest 22/23 似乎存在这样的问题,而我在 Jest 25.2.1 和全新安装上。提供的解决方案都不适合我。
由于我对开玩笑完全陌生,因此我将不胜感激。
解决方案
它表明你的测试中有语法错误,因为你的测试文件里面有 jsx 并且被命名为.ts
,但它应该是.tsx
推荐阅读
- node.js - node - 将变量传递给子进程
- c++ - std::is_trivially_copyable / std::is_trivially_copy_assignable 和数组包装类
- sql - 从扩展属性中获取元数据 (SQL Server)
- php - 使用非 laravel PHP 方法访问 Laravel 会话变量
- node.js - Mongoose 聚合到数组数组
- python - 使用 Beautiful Soup 获取 html 文本
- flutter - 每天重新开始dart中的订单号计数
- php - Laravel 8 | 如何在同一张表上连接两个外键
- javascript - https node js socket hangup 获取请求过多,如何处理?
- reactjs - 如何使用打字稿在winston中设置自定义日志级别?