Подтвердить что ты не робот

Как вы отлаживаете тесты Жасмина с помощью Resharper?

Я не могу найти способ отлаживать (пропустить) код JavaScript при запуске тестов Jasmine с помощью Resharper в Visual Studio 2012. Я попытался выполнить тесты с браузером (Chrome), но тестовый бегун закрывает порт, как только тест и поэтому я не могу поставить точку останова в коде. Также попробовал работать в Internet Explorer и поставить контрольные точки в Visual Studio, но он не будет прикреплен к процессу. В моем тесте есть много///ссылочных скриптов, которые Resharper автоматически включает в тестовый бегун, но я не хочу вручную делать это для каждого теста, который я хочу отлаживать. Пожалуйста, помогите мне понять это. Если у вас есть тест жасмина, который терпит неудачу, тогда как вы его отлаживаете?

4b9b3361

Ответ 1

Попробуйте использовать ключевое слово debugger. Просто добавьте следующую строку в код, который вы хотите отлаживать (возможно, в спецификации):

debugger;

Он вызывает любую доступную функциональность отладки. Он не работает в IE, но работает очень хорошо в Chrome (вы написали, что используете его, поэтому я думаю, это достаточно для отладки).

Конечно, после этого обязательно удалите ключевое слово debugger! Возможно, нет простого способа избежать этого в производственном коде вообще (в случае, если вы будете использовать его не только в spesc), но если вы заинтересованы в этом SO question может быть полезно.

Ответ 2

Поскольку я не получил debugger; для работы, я нашел другое решение. Добавив в мой тест следующее, resharper не будет уведомлен о завершении теста, чтобы мы могли установить точки останова отладки в открывшемся браузере (я использую хром) и обновить страницу (F5).

jasmine.getEnv().currentRunner_.finishCallback = function () {};

Поскольку Jasmine 2.0 вам нужно использовать:

ReSharperReporter.prototype.jasmineDone = function () { };

Остановите тесты в окне resharper testrunner, когда закончите.

Также это можно сделать для QUnit

QUnit.moduleDone = function(){}

Ответ 3

Как я писал на Отладка тестов жасмина с помощью resharper и phantom js

У меня есть отладчик; для работы, установив IE 11 в качестве моего тестового браузера в параметрах ReSharper. Самое приятное в том, что вы можете установить свои точки останова в версии кода Visual Studio и установить и отладить с помощью Visual Studio. Вам действительно не нужно взаимодействовать с браузером.

Ответ 4

Я знаю, что это старый вопрос, и этот ответ немного не соответствует теме, но если вы не хотите вмешиваться в обратный вызов, контекстное меню тестового бегуна Chutzpah может вам помочь. Запустите тесты в resharper/phantomjs (так что вы не получите взрыва вкладок), и отладка в Chrome (или в вашем предпочтительном браузере) была нажата правой кнопкой мыши:

Расширение контекстного меню тестового запуска Chutzpah