Как я могу установить точки останова в моих тестах qunit при использовании ReSharper test runner
Это здорово, что с Resharper 6 можно писать тесты qunit и запускать их со встроенным тестовым бегуном resharper. Однако мне интересно, можно ли установить точки останова в тестах и тестируемом коде. Проблема в том, что каждый раз, когда он открывает браузер, он использует другой рандомизированный номер порта, что означает, что вы не можете просто установить точки останова в браузере и перезапустить тесты, нажав F5. Интересно, это вообще возможно?
3 ответов
к сожалению, на данный момент это невозможно - см. запрос. То, что я предлагаю вам сделать прямо сейчас, если вам нужна отладка, - это использовать QUnit канонически-создать HTML-страницу, отбросить ваши JS-библиотеки, тесты и QUnit в них и поместить элементы QUnit HTML для отображения результатов. Таким образом, Вы сможете установить точки останова в JS.
более простой подход с использованием Resharper и Visual studio.
просто поместите в качестве первой строки в JS-файл:
QUnit.moduleDone = function () {}
тест Resharper не завершится, и вы можете обновить свою страницу в браузере столько раз, сколько хотите. Вы можете поставить точку останова и повторно запустить тест, нажав F5 в браузере.
пример:
в самом верху страницы, вы должны есть:
- ваши ссылки первым
- QUnit.moduleDone = function () {};
вот так:
/// <reference path="Scripts/jquery-ver**.min.js"/>
/// <reference path="Scripts/jquery-ui.min.js"/>
/// <reference path="your_test_file.js"/>
QUnit.moduleDone = function() {};
это отлично работает!)
в вашем браузере-просто нажмите F12( откройте окно отладчика), установите точки останова и обновите страницу с помощью F5))
Если вы используете Firefox с плагином Firebug, вы можете сделать это: добавьте оператор отладчика в свой код, где вы хотите сломать:
var x = 2;
debugger;
...
установите для параметра Firebug 'Active for all Web Pages' значение true. В параметрах ReSharper Testing>JavaScript установите Firefox в качестве браузера (если он еще не является вашим значением по умолчанию).
теперь отладчик Firebug сломается в операторе отладчика.
PS Я пробовал это с Chrome, но не мог заставить его сломаться. Кто-нибудь знаете, как это сделать?