Как добавить тестирование в существующий проект Typescript и заставить его отображаться в Text Explorer? - PullRequest
0 голосов
/ 18 марта 2020

Я играл с проектом Typescript, у которого еще нет написанных тестов. ( Подтверждение добавления тестов )

Я пробовал 2 разных метода добавления тестов, написанных на Typescript.

  1. запуск. json
  2. package. json

Оба эти подхода в настоящее время работают и могут быть отлажены с помощью обычного запуска / отладки задач.

Однако я пробовал 2 разных расширения VSCode, чтобы добавить поддержку в обозреватель тестов для выполнения этих тестов, чтобы улучшить GUI и автоматизировать c обратную связь, визуализировать покрытие и c.

Mocha-Sidebar и Mocha Test Explorer

Ни один из них не взял тесты, которые я написал, используя конфигурацию по умолчанию. И у них обоих есть скудная документация о том, как настроить тесты , написанные на Typescript

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

Как можно настроить Mocha-Sidebar, Mocha-Test-Explorer или какой-либо другой адаптер Test Explorer для работы с тестами в этом коммите.

И возможно ли это без передачи дополнительных файлов конфигурации в * Репозиторий 1040 *, и пусть кто-нибудь раскошелит проект и сможет запустить тесты.

например, BDD стиль, внутри папки с тестами, с именем как test/hello-world.test.ts, написанным на Typescript, с полной поддержкой отладки.

1 Ответ

2 голосов
/ 21 марта 2020

Вызов Mocha

Когда вы вызываете mocha через командную строку, пакет. json или запуска. json, вы предоставляете mocha две важные части информации:

  • Шаблон глобуса, указывающий, где находятся тестовые файлы.
  • A --require флаг, указывающий любые дополнительные модули для загрузки.

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


Настройка расширений

Эти два расширения имеют много совпадений, поэтому я бы рекомендовал использовать один или другой. Мои личные предпочтения - Mocha Test Explorer. Я обнаружил, что Mocha Sidebar слишком медленно запускает большие тестовые наборы. В любом случае, они оба настроены очень схожим образом:

Mocha Explorer

Скажите, где находятся тесты, и используйте ts-node для включения сборник Эти настройки go в settings.json, либо на уровне пользователя, либо на уровне проекта.

"mochaExplorer.files": "test/**/*.test.ts",
"mochaExplorer.require": [
    "ts-node/register",
],

Mocha Sidebar

Скажите то же самое, в немного другие слова:

"mocha.requires": [
    "ts-node/register",
],
"mocha.files.glob": "test/**/*.test.ts"

Визуализация покрытия

Для визуализации данных покрытия в VSCode вы можете попробовать что-то вроде покрытие-желоба . Я не считаю ни одно из упомянутых вами расширений полезным для фактического просмотра моих данных покрытия.


Где применить эти настройки?

Чтобы гарантировать, что разработчики, не знакомые с проектом, могут «взяться за дело», мне нравится проверять такую ​​конфигурацию в проекте, как .vscode/settings.json.

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


Рабочий пример

Я клонировал ваш проект и добавил указанная выше конфигурация .vscode/settings.json:

VSCode screenshot depicting settings.json and debugger paused in Typescript mocha test.

...