@ cypress / code-cover Не удается разрешить '../self-coverage-helper' @cypress

Я пытаюсь запустить require ('@ cypress / code-cover / task') в index.js кипариса.

Module not found: Error: Can't resolve '../self-coverage-helper' in 'C:\repo\patientstrength_codecover\node_modules\@cypress\code-coverage\node_modules\nyc'

Здесь совершенно потеряно. Package.json:

   "nyc": "^15.1.0",
   "cypress": "^5.0.0",
   "cypress-istanbul": "^1.3.0",
   "cypress-localstorage-commands": "^1.2.2",
   "cypress-multi-reporters": "^1.2.4",
   "@cypress/code-coverage": "^3.8.1",
   "@babel/core": "^7.11.4",
   "@babel/plugin-syntax-dynamic-import": "^7.8.3",
   "@babel/plugin-syntax-jsx": "^7.10.4",
   "@babel/preset-env": "^7.11.0",
   "@babel/preset-react": "^7.10.4",

person Tobi    schedule 02.09.2020    source источник
comment
Вы нашли решение?   -  person Rockettomatoo    schedule 03.09.2020
comment
еще нет, так что у вас такая же проблема?   -  person Tobi    schedule 22.09.2020
comment
Что ж, я попытался радикально понизить версию Cypress до версии 4.6 и получил эту ошибку: Ошибка: не удается найти модуль '../self-coverage-helper' из 'C: \ repo \ Patientstrength_dev \ node_modules \ @cypress \ code-охват \ node_modules \ nyc 'но действительно не могу найти этот модуль   -  person Tobi    schedule 22.09.2020
comment
Есть обновления по этому поводу?   -  person james emanon    schedule 07.10.2020
comment
Да, я могу это исправить. Проблема заключалась в том, что мы использовали корневой package.json с базовыми скриптами, такими как gulp, jest и well - также мы пробовали cypress. Итак, у нас есть /git/root/package.json и /git/root/solution1/package.json & /git/root/solution2/package.json. Мы решили проблему, просто установив сначала cypress и все зависимости (!) В решения /git/root/solution1/package.json и /git/root/solution2/package.json. НЕ в /git/root/package.json. /Git/root/package.json теперь содержит только скрипт, вызывающий 2 установки cypress. А потом объединяем результаты. Конечно, некоторая избыточность.   -  person Tobi    schedule 14.10.2020


Ответы (1)


Проблема заключалась в том, что мы использовали корневой package.json с базовыми скриптами, такими как gulp, jest и well - также мы пытались запустить cypress из этого корня. И кроме покрытия все работало нормально.

Итак, у нас есть:

  • /git/root/package.json
  • /git/root/solution1/package.json
  • /git/root/solution2/package.json

Мы решили проблему, просто установив сначала cypress и все зависимости (!) В решениях /git/root/solution1/package.json и /git/root/solution2/package.json. НЕ в /git/root/package.json.

/Git/root/package.json теперь содержит только сценарий, вызывающий 2 установки cypress. А потом объединяем результаты. Конечно, некоторая избыточность

Сценарий вызова выглядит следующим образом:

"test:client1": "cd client1 && cd ClientApp && npm run coverage"

Очень простой подход. Что мы не смогли решить, так это избыточность конфигурации и команд cypress. Это можно оптимизировать.

person Tobi    schedule 14.10.2020