Изпълнението на jasmine тестове в Webstorm спира при проследяване с код за изход 0

Пускам jasmine тестове в моето приложение node.js чрез grunt. Добавих grunt test към конфигурациите за изпълнение на Webstorm.

В „Конфигурации за изпълнение/отстраняване на грешки“ „Тестът на Grunt“ има посочени следните свойства: интерпретатор на възли (node.exe в Program Files), работна директория (местоположение на проекта), JavaScript файл (двоичен файл на Grunt) и параметри на приложението (test - име на задача на Grunt) .

Конфигурацията работи правилно, но спира, без да отпечата пълния жасмин изход. Понякога преди отпечатването на какъвто и да е изход, най-често след част от дневника на jasmine, но преди обобщение на теста или подробности за грешка. Винаги последният ред на изхода е

Process finished with exit code 0

Когато взема командата Webstorm и я стартирам ръчно в конзолата, тя работи добре и винаги отпечатва пълен изход:

"C:\Program Files\nodejs\node.exe" C:\...\node_modules\grunt-cli\bin\grunt test

Моите тестове включват асинхронни случаи, така че отнема около 20 секунди, за да ги изпълните. Забелязах, че всеки опит за стартиране на тестове чрез Webstorm отпечатва малко по-дълъг резултат. Първият опит завършва без никакви, но след още десет получих пълен резултат с резюме на теста.


person Terite    schedule 14.11.2013    source източник


Отговори (3)


Известен проблем, моля, вижте http://youtrack.jetbrains.com/issue/WEB-1926 и дискусия относно stackoverflow (mocha + webstorm - съобщение за грешка не е успешно )

person lena    schedule 14.11.2013
comment
Благодаря много! Прекарах много време в търсене на някакво решение. - person Terite; 15.11.2013

За да поправим описания случай, можем да стартираме jasmine тестове директно чрез команда jasmine-node (пропускане на grunt).

Трябва да настроим нова „Конфигурация за изпълнение/отстраняване на грешки“ въз основа на предварителна конфигурация „Node.js“.

  • Интерпретатор на възли (както обикновено):

    C:\Program Files\nodejs\node.exe
    
  • Работна директория: root на проекта,

  • JavaScript файл:

    node_modules\grunt-jasmine-node\node_modules\jasmine-node\lib\jasmine-node\cli.js
    

    Това е за моя случай (използване на grunt-jasmine-node). Можем също да предоставим път до cli.js от jasmine-node, инсталиран глобално.

  • Променливи на приложението:

    --verbose src/test/js
    

    Разбира се, последният е път към директория с тестове в моя проект. Тук можем да посочим списък с файлове или да използваме други jasmine-node команди и параметри.

person Terite    schedule 15.11.2013

Проблемът е, че process.exit() не изчаква stdout. Трябва да отложите изходното повикване с една отметка, това е всичко.

person inf3rno    schedule 04.02.2015