Как установить каталог для тестовой папки в Visual Studio Code с помощью Mocha? - PullRequest
0 голосов
/ 12 февраля 2020

Я пытался научиться юнит-тестированию с Mocha, используя код Visual Studio, согласно этого руководства. Но когда я нажимаю кнопку Play, чтобы запустить тесты Mocha, я получаю сообщение об ошибке, не найдя тестовые файлы.

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

Итак, есть ли способ указать мне папку с тестами, которую я создал в другом месте?

1 Ответ

1 голос
/ 12 февраля 2020

Чтобы сказать Mocha запускать тесты в другой папке вместо запуска в папке по умолчанию ./test, вы можете просто изменить команду и выполнить

mocha "./spec/**/*.js"

или, если Ваш bash не поддерживает ** Запуск от имени

mocha --recursive "./spec/*.js" 

Это означает, что вы можете легко изменить сценарий запуска VSCode на:

{
    "type": "node",
    "request": "launch",
    "name": "Mocha Tests",
    "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
    "args": [
        "./<YOUR_FOLDER_HERE>/**/*.js",
        "--ui bdd",
        "--timeout 15000",
        "--sort",
        "--colors",
        "--bail",
        "-R spec",
        "--recursive",
        "--exit",
    ],
    "internalConsoleOptions": "openOnSessionStart"
}

не забудьте изменить <YOUR_FOLDER_HERE> с именем папки, в которой у вас есть тесты

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

Пример выше будет таким же, как файл mocha.opts с

# mocha options
--ui bdd
--timeout 15000
--sort
--colors
--bail
-R spec
--require test/prepare
--recursive
--exit

, просто играйте с аргументами, пока вы не запустите его как вам нравится ...

Кстати, если вы используете VSCode , я настоятельно рекомендую расширение Mocha (их несколько), так как вам не нужно запустите тесты в качестве команды запуска и у вас будут все тесты на боковой панели с Возможность отладки каждого и добавления точек останова к вашему коду

enter image description here

, а также в ваших тестах

enter image description here

PS этот проект находится в GitHub , так что вы можете увидеть, как все работает, включая покрытие кода, если вы посмотрите, как это работает:)

...