В cypress test runner не найдено файлов

#javascript #automation #frameworks #cypress #build-automation

#javascript #автоматизация #фреймворки #cypress #автоматизация сборки

Вопрос:

Эта странная вещь произошла, когда я внезапно получил сообщение об ошибке «Файлы не найдены в cypress test runner». введите описание изображения здесь

Однако файлы находятся в папке, я переместил ее в новую папку и попытался запустить, но все равно получил сообщение об ошибке. Пожалуйста, есть какие-либо мысли или идеи относительно того, почему это произошло? введите описание изображения здесь

Я также попытался запустить его в безголовом режиме, но получил то же сообщение об ошибке. введите описание изображения здесь

Спасибо. @Nanker Phelge пожалуйста, есть какие-либо мысли о том, как исправить эту проблему. Спасибо

Комментарии:

1. В какой конфигурации cypress.json ?

Ответ №1:

По умолчанию, если вы не настроили ничего другого, Cypress просматривает все вложенные папки папки интеграции.

Пожалуйста, смотрите Конфигурацию

Папки / Файлы

Опция По умолчанию
Тестовые файлы **/*.*

где ** является частью шаблона glob, который означает «искать во всех вложенных папках — для всех типов файлов».

Если у вас настроено что-то еще, это может быть причиной, но если нет записи, то cypress.json это не причина.

В противном случае, если у вас есть *.spec.js , или */*.js они исключат ваши файлы (потому что нет .spec.js расширения, а один * будет исключать вложенные папки.

Говоря об исключении, если есть запись ignoreTestFiles конфигурации (in cypress.json ), это может быть причиной проблемы.


Я также хотел бы отметить, PageObjects что папка может рассматриваться как тесты и вызывать у вас больше ошибок.

Общим шаблоном является присвоение имен всем файлам, имеющим тесты, с .spec.js расширением, например. GTProject1.spec.js

В cypress.json файле установите

 testFiles: "**/*.spec.js"
 

что означает поиск /cypress/integration файлов с расширением в папке и любых вложенных папках .spec.js . Он будет игнорировать ваши файлы PageObject, которые имеют только .js расширение.

Затем вы можете переставить папки позже и по-прежнему видеть все тесты.

Комментарии:

1. Если testFiles они не объявлены в cypress.json then в соответствии с текущей структурой, папка объектов страницы также будет выполнена.

2. Но да, вы были правы в формулировках, cypress проверяет наличие всех вложенных папок внутри папки интеграции, я удалил это и обновил свой ответ.

3. @ Nanker Phelge Еще раз спасибо. Проблема была с тестовыми файлами в cypress.json. Как только я обновил его до */ .*, это сработало.

4. Спасибо, чувак: D в моем проекте внезапно я потерял все тесты, но это было так, кто-то изменил conf в cypress.js

Ответ №2:

Вы можете выполнять тесты, подобные этому —

 npx cypress run --spec=cypress/integration/GTProjects/*
 

Или вы можете добавить все свои тесты в виде массива testFiles в свой cypress.json файл, и в этом случае вы можете напрямую использовать npx cypress run .

 "testFiles": [
  "GTProjects/GTProject1.js",
  "GTProjects/GTProject2.js",
  "GTProjects/GTProject3.js",
  "GTProjects/GTProject4.js",
  "GTProjects/GTProject5.js",
  "GTProjects/GTProject6.js",
  "GTProjects/GTProject7.js",
  "GTProjects/GTProject8.js",
  "GTProjects/GTProject9.js"
]
 

Или вы можете указать integrationFolder путь в своем cypress.json , и в этом случае вы также можете выполнять тесты с помощью npx cypress run

 "integrationFolder": "cypress/integration/GTProjects"