Тестирование графического интерфейса WinForms/CompositeUI с помощью SpecFlow, White, Spring и MS Test

У меня есть настольное приложение C# (CompositUI/WinForms). Это приложение подключается к веб-службе с помощью SmartClient. Моя задача — внедрить (модернизировать) тесты в это приложение, используя фреймворки SpecFlow и White. Чтобы просто протестировать графический интерфейс, мне нужно издеваться над вызовами веб-сервиса. Класс, который подключается к нему, внедряется через Spring.net. Моя задача состоит в том, чтобы протестировать приложение, способное имитировать вызов веб-сервиса во время тестов, это означает, что мой тестовый код должен контролировать то, что будет делать мой макет. Проблема: метод, который запускает GUI, просто не возвращает управление потоку, который его вызвал. В результате мы не можем контролировать графический интерфейс и моки.

На данный момент у меня есть вопросы:

  • возможно ли (и если да, то как это сделать) запускать GUI в отдельном потоке и возвращать управление тестовому потоку?

  • Каковы другие возможности запуска тестов графического интерфейса, которые позволили бы мне контролировать внедрение?

6
задан LarsTech 17 December 2013 в 16:41
поделиться