Как я могу установить точки останова в моих тестах 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, но не мог заставить его сломаться. Кто-нибудь знаете, как это сделать?