Запуск Fitnesse в режиме отладки - PullRequest
1 голос
/ 17 сентября 2011

Раньше я пользовался Fitnesse ежедневно, несколько лет назад, но забыл, как запускать тесты в режиме отладки (или выводить информацию о трассировке стека) - кто-нибудь знает?

Я помню, что мог настроить его какфлаг при запуске / запуске fitnesse.jar или в качестве параметра URL (например, http://localhost:8090/FitLibraryWeb.MyTest?test&debug=true)

Ответы [ 5 ]

3 голосов
/ 13 октября 2011

Для отладки приборов в .Net я обычно добавляю Debugger.Break () в свой код устройства C #

0 голосов
/ 11 ноября 2016

Добавьте следующую строку непосредственно перед местом назначения вашего теста

!|debug|

Более подробную информацию см. В Отличная статья Майкла Соренса , самая полная статья о методах отладки Fitnesse.

0 голосов
/ 10 ноября 2016

Хотя на мое предпочтительное решение для разработки уже было указано предложение DebugBreak () от Rustin , и альтернативное решение - вызвать RunnerW.exe , для чего необходимо добавить следующую строку в ваш целевая тестовая страница по фитнесу

[[Press me to start in remote debug mode][?responder=test&remote_debug=true]]

Пожалуйста, имейте в виду, что я предполагаю, что ваша тестовая страница уже определяет REMOTE_DEBUG_RUNNER , указывающий на RunnerW.exe , как указано в Раздел настройки выполнения теста руководства по Fitnesse

Для простоты я представлю образец заголовка для проверки соответствия.

Итак, вот как Удаленная отладка с использованием Visual Studio :

  1. Убедитесь, что ваша тестовая страница начинается со следующих строк
!define TEST_RUNNER {FitSharp\Runner.exe}

!define REMOTE_DEBUG_RUNNER {FitSharp\RunnerW.exe}

[[Press me to start in remote debug mode][?responder=test&remote_debug=true]]

The rest of your test specification goes here
  1. В Visual Studio , установить целевую точку останова кода
  2. На тестовой странице соответствия нажмите Нажмите меня, чтобы запустить в режиме удаленной отладки , определенном выше. Это запустит процесс RunnerW.exe (приложение winform под названием Fitsharp ), которое будет ждать 30 секунд (я не уверен).
  3. В Visual Studio > Отладка * Меню 1044 *> Присоединить к процессу , найти RunnerW.exe и нажать Присоединить кнопка.
  4. В окне Fitsharp (процесс RunnerW.exe ), нажмите кнопку GO , и вы уже в пути.

В качестве практического решения я использую следующую стратегию:

  1. Я создаю статическую страницу с именем SetupEngine и добавляю 3 строки, указанные на предыдущем шаге 1.
  2. В верхней части каждой тестовой страницы я просто помещаю следующий заголовок, поэтому мне не нужно повторять эти 3 строки.

! Include .SetupEngine

Обратите внимание, что . (точка) на .SetupEngine (который является путем) относится к вашей корневой странице Fitnesse. Возможно, вам придется настроить его.

У меня была эта идея, когда я имел в виду раздел удаленной отладки Fitnesse.UserGuide

Надеюсь, это поможет

0 голосов
/ 17 апреля 2014

Ваше мнение об использовании RunnerW.exe в отличие от Runner.exe.

Если вы поменяете бегуна на RunnerW, появится всплывающее окно с кнопкой «Перейти», и вы не начнете тест на пригодность, пока не нажмете на него.

Перед нажатием кнопки go вы можете присоединиться к любому процессу (через «Присоединить к процессу» в меню отладки, если вы используете VS), и выполнение будет приостановлено в установленных точках останова.

Примечание : вы должны иметь ту же сборку, которую использует FitNesse, и код, который вы отлаживаете.

Вы также можете подключиться к удаленному процессу, используя Remote Debugger.

Кроме того, если вы присоедините процесс RunnerW.exe, вы сможете отладить сами приборы.

0 голосов
/ 17 сентября 2011

Мне не приходилось делать это некоторое время, но текущая документация, которая поставляется с FitNesse, указывает на то, что вы близки. Вы должны использовать remote_debug вместо debug .

Лучше всего начать с документации, прилагаемой к вашей копии FitNesse, так как она соответствует вашей работе. Если вы используете порт 8080, то должна работать следующая ссылка: http://localhost:8080/FitNesse.UserGuide.DebugingFixtureCode.

Если вы используете Java, эти инструкции должны помочь. Если вы используете другой язык, я не уверен, что смогу помочь.

...