Итак, у меня есть приложение, которое я унаследовал, и я хочу создать автоматизированный набор тестов. Приложение не было разработано с учетом тестируемости, а код представляет собой «большой шарик грязи». Мой план состоял в том, чтобы использовать среду тестирования UI Automation и создавать набор тестов на уровне пользовательского интерфейса, пока у меня не будет достаточно покрытия, чтобы я мог с уверенностью начать рефакторинг и вводить некоторые швы в код для улучшения тестируемости и дизайна.
Это WinNet-приложение .Net, и мне известны следующие две платформы:
NUnitForms
и
Проект Белый
Из того, что я прочитал, обе платформы создают проблемы при попытке запуска как части автоматической сборки (Continuous Integration) из-за того факта, что большинство продуктов CI работают как служба Windows, и если пользовательский интерфейс использует модальные диалоговые окна, приложение будет умереть ужасной смертью Я использую CruiseControl.Net в качестве инструмента CI.
У кого-нибудь есть предложения, чтобы обойти эту проблему? Альтернативная основа для использования, которая может улучшить ситуацию?
Спасибо
Dylan