TL/DR: используйте копию src/index.js из пакета https://github.com/piotrwitek/ts-mocha вместо прямого использования ts-node/register.

Переключение относительно большого кода сервера приложений с необработанного JavaScript на Typescript вдохновило меня на другие возможные усилия по улучшению качества кода, такие как использование тестов, чтобы убедиться, что новая версия основного компонента хорошо протестирована.

Во многих учебниках предлагается использовать параметры команды -r ts-node/register для мокко, и это работает, когда я запускаю тесты в командной строке.

Примечание. Тесты TypeScript должны находиться в кусте кода src, чтобы жить в пространстве, контролируемом файлом конфигурации tsconfig.json. Таким образом, тесты, написанные на машинописном языке, помещаются в каталог src/tests.

Но когда я запускал тесты typescript с этими параметрами, упомянутыми выше, в IDE, я получил сообщение об ошибке Emit skipped.

Погуглив, я нашел пакет ts-mocha и изучил его содержимое. Этот пакет зависит от машинописного текста и мокко и предоставляет сценарий CLI ts-mocha, который можно использовать вместо сценария mocha bin для запуска тестов машинописного текста из командной строки. Файл src/index.js — это то, что нам сейчас нужно. Скопируйте его по пути src/tests/start-testing.js.

Затем перейдите к глобальным настройкам IDE для Mocha и замените -r ts-node/register на -r src/tests/star-testing.js, указав путь к файлу, который вы только что создали.

Если вы примените это обновление к глобальным настройкам Mocha в IDE, это позволит использовать тесты, написанные на машинописном языке, в IDE, включая явные конфигурации Mocha, сгенерированные для стрелок run test IDE.

ПРИМЕЧАНИЕ. Удалите параметр -r ts-node/register и используйте вместо него -r src/tests/star-testing.js в существующих конфигурациях Mocha, чтобы обеспечить применение глобальных настроек.