Запуск/отладка node.js testcases с жасмином в Webstorm 11

Я устанавливаю Webstorm 11 и хочу запускать свои тесты (для приложения node.js), реализованного с помощью Jasmine. Однако это нелегко сделать. Я могу просто ввести команду командной строки "jasmine", и тест будет запущен, но в этом случае я не могу отлаживать код. Так есть ли способ настроить Webstorm для работы со спецификациями жасмина, как и должно быть?

Ответ 1

Хорошо, поэтому пока никто не отвечает, я постараюсь предоставить свою версию: Этот поток позволит запускать тесты жасмина из Webstrom и тестовых тестов отладки

  • установить жасмин (ither локально или глобально)
  • в папке проекта создайте папку "spec/support" В этой папке укажите jasmine.json

    пример конфигурации тестирования:

    {
    "spec_dir": "tests",
    "spec_files": [
        "**/*[sS]pec.js"
    ],
    "helpers": [
        "helpers/**/*.js"
    ]
    }
    
  • Создайте конфигурацию node.js в Webstorm

  • В этой конфигурации выберите исходный файл - исполняемый файл jasmine (для локально установленных жасмин будет 'node_modules\jasmine\bin\jasmine.js')

Итак, вы готовы. Однако в настоящий момент при попытке отладки этой конфигурации - с ошибкой:

Cannot stop on breakpoint due to internal error org.jetbrains.v8.V8CommandProcessor$1:

Если вы столкнулись с этим - вам нужно изменить конфигурацию Webstom и установить следующие параметры:

-Dnodejs.debugger.use.jb.support=false Подробнее см. там:

Таким образом, это позволяет запускать тесты жасмина и отлаживать их. Однако есть еще некоторые вещи, которые это решение не может сделать:

  • Запуск отдельных тестовых ящиков
  • Запустите отдельные тестовые окна с помощью правой кнопки мыши и выберите команду "Выполнить" из меню

Jetbrains, если вы читаете это - исправьте это уже. Я начал играть с node в Webstorm 3 года назад, и с этого момента и десятки версий до сих пор нет хорошего способа запуска тестов. Это смешно.

Ответ 2

Жасмин работает с JSTestDriver, который вы получаете из коробки с WebStorm 11: https://www.jetbrains.com/webstorm/help/enabling-javascript-unit-testing-support.html

На этой странице также подробно описано, как добавить Jasmine в JSTestDriver: https://www.jetbrains.com/webstorm/help/preparing-to-use-jstestdriver-test-runner.html

На высоком уровне вы собираетесь:

нагрузки:

Библиотека/жасмин/jasmine.js

Библиотека/жасмин-JSTD-адаптер/JasmineAdapter.js

Ответ 3

WebStorm не работает напрямую с тестовым запуском. Эта работа выполняется тестировщиком. WebStorm поддерживает несколько тестовых бегунов - Mocha, Karma, JsTestDriver, nodeunit. Большинство из них могут выполнять тесты Жасмина