Тест пряжи (шутка) не находит тестов с помощью create-реагировать на приложение - PullRequest
1 голос
/ 26 апреля 2020

Я довольно плохо знаком с автоматизированным тестированием в JavaScript и хотел включить Jest в свою работу.

Я следовал простому руководству по Jest-Testing в create-реагировать-приложение.

Когда я пытаюсь запустить свой тест с тестом пряжи , он запускается в режиме просмотра без каких-либо ошибок и затем выдает мне:

No tests found, exiting with code 0

Мой тестовый файл находится в src / *. Spe c .ts. Я попробовал * .test. js, поместил его в тест src / __ __ / (*. js | * .ts).

Я не мог понять, почему он не находит никакого теста.

Итак, я создал совершенно новое приложение реагирования:

yarn create react-app test --typescript
cd .\test
yarn test

И оно дало мне точно такую ​​же ошибку (тесты не найдены) с простым новым созданием-реакцией- приложение. Пробовал с машинописью и без нее.

Я установил 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 | });


Пакет . json из fre sh create -react-app выглядит для меня так:

{
  "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 и установку fre sh. Ни одно из предложенных решений не помогло мне.
Поскольку я совершенно новичок, я был бы признателен за помощь.

1 Ответ

1 голос
/ 26 апреля 2020

Это показывает, что у вас есть синтаксические ошибки в вашем тесте, потому что ваш тестовый файл имеет jsx внутри и называется .ts, но это должно быть .tsx

...