2015-11-08 2 views
10

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

+0

Почему бы не https://www.jetbrains.com/webstorm/help/enabling-javascript-unit-testing-support.html – timothyclifford

ответ

9

Ok, так что пока не один ответ на данный момент я не попытается обеспечить свою версию: Этот поток позволит запускать жасмин testsute из Webstrom и отладки testcases

  1. установки жасмин (ither локально или глобально)
  2. в папке проекта создать папку 'SPEC/поддержка' в этой папке место jasmine.json

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

    { 
    "spec_dir": "tests", 
    "spec_files": [ 
        "**/*[sS]pec.js" 
    ], 
    "helpers": [ 
        "helpers/**/*.js" 
    ] 
    } 
    
  3. Создать Node.js конфигурацию в WebStorm

  4. В этой конфигурации выберите исходный файл - жасмин исполняемый файл (для установленного , локальной жасмин будет '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 Для более подробности проверка there:

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

  1. Выполнить индивидуальные testcases
  2. Выполнить индивидуальные testcases с правой кнопкой мыши и команды Выполнить из меню

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

+0

каких-либо новостей об этом? –

0

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

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

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

  1. Установка JSTestDriver из JetBrains плагин репо
  2. настроить его в качестве W библиотека ebStorm JavaScript (https://www.jetbrains.com/webstorm/help/configuring-javascript-libraries.html#configure)
  3. Открыть jsTestDriver.conf и введите в него следующий код:

нагрузка:

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

Библиотека/жасмин-jstd- adapter/JasmineAdapter.js

+1

JsTestDriver по умолчанию не поставляется с Webstrom, вам нужно будет установить дополнительный плагин для его использования. Однако похоже, что сам JsTestDriver - это заброшенный проект, который больше не поддерживает вообще (выглядит как последний релиз 3-4 года назад), и неясно, поддерживает ли он node.js, или это только для клиентов js. Поэтому со всеми этими вопросами я думаю, что это не вариант. – Ph0en1x

+0

Посмотрите @ документы Karma, это также поддерживает Jasime: https://www.jetbrains.com/webstorm/help/preparing-to-use-karma-test-runner.html – timothyclifford

+2

Еще раз карма - это clientside js тестирует бегун. Это хорошо для угловых, но не работает для node.js – Ph0en1x

0

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

+0

Я думаю, вы ошибаетесь. Но, возможно, нет. Не могли бы вы предоставить мне алгоритм - как я мог бы запускать базовые тестовые базы NODE.JS с mocha или nodeunit (только они могли запускать тесты js на стороне сервера, карма и JsTestDriver работают только для клиента). Я не хочу ничего экстраординарного - просто хочу нажать кнопку мыши и запустить одиночный тестовый файл. Должно быть легко для «самой интеллектуальной javascript IDE в мире», правильно? – Ph0en1x

Смежные вопросы