Минимальное воспроизводимое РЕПО = https://github.com/david-kirkland/ng18-code-coverage
Я несколько раз начинал с нуля и не могу получить тестовое покрытие e2e, используя Angular 18
, cypress
, @cypress/code-coverage
, @cypress/schematic
, nyc
(также известный как Стамбул) и т. д.
Кажется, он инструментирует код, потому что я получаю данные в .nyc_output/
как динамически генерируемый файл...
...но данные никогда не перемещаются в .nyc_output/out.json
...
Я предполагаю, что это то, что @cypress/code-coverage
использует, потому что отчеты пусты...
Cypress также выдает ошибку: Did you forget to instrument your application?
...
Я прочитал всю документацию, которую смог найти, и следовал всем руководствам, пробуя различные методы. Мне еще предстоит найти рабочий пример покрытия кода тестирования Cypress e2e с помощью Angular 18. Совместимы ли они вообще?
В минимально воспроизводимом репо (ссылка выше) я запускал... tsc && nyc ng e2e
.
У меня это работает. Минимально воспроизводимый репозиторий стал рабочим репозиторием как с покрытием кода Cypress e2e (npm run e2e
), так и с тестированием компонентов (npm run ct
). Я надеюсь, это поможет вам. :)
https://github.com/david-kirkland/ng18-code-coverage
Есть объяснение? Изменения Cypress так же задокументированы, но как насчет Angular.json
изменений, пожалуйста, объясните эти артефакты.
В nyc
есть ошибка, вызывающая проблемы. Я сообщил об этом: github.com/istanbuljs/nyc/issues/1575. В этом репозитории я исправляю несогласованные пути в nyc.util.mjs
(через npm run test:data:scrub
), прежде чем дать указание nyc
объединить данные покрытия. Чтобы всё сделать просто бегите npm run test:coverage
.
Какие скрипты выполняются? служить: сср + е2е?