Протестируйте логику Windows Forms с NUnit

Я погружаюсь в поблочное тестирование, и я хотел бы знать, возможно ли протестировать некоторую специальную функциональность диалогового окна или формы с NUnit. Я попробовал NUnitForms, но он испытывает недостаток в хорошей документации и кажется, что никто не поддерживает тот проект. Действительно ли это верно?

Если у Вас есть опыт при тестировании Windows Forms, укажите на меня правильным способом. Любые комментарии или информация ценятся.Спасибо!

6
задан yeyeyerman 4 February 2010 в 09:26
поделиться

4 ответа

У меня та же проблема с NUnitForms. Я могу запустить форму и нажать на кнопку, но не могу понять, как заставить работать диалоги, и вообще ничего не могу найти. Я думаю, что этот блог был самым полезным: http://blogs.msdn.com/john_daddamio/archive/2006/11/06/getting-started-with-nunitforms.aspx

Мне пришлось вернуть сборку NUnitForms в моём app.config, чтобы заставить её работать с последней версией:

<configuration>
   <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
      <dependentAssembly>
        <assemblyIdentity name="nunit.framework"
          publicKeyToken="96d09a1eb7f44a77"
          culture="neutral" />
        <bindingRedirect oldVersion="2.2.7.0" newVersion="2.5.2.9222" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

( http://duncanjasmith.blogspot.com/2007/08/using-nunitforms-with-nunit-framework.html ).

Я надеюсь, что эта нить поможет мне, но я все же могу попробовать проект white ( http://www.codeplex.com/white).

3
ответ дан 17 December 2019 в 00:09
поделиться

Автоматическое тестирование GUI имеет тенденцию быть очень хрупким, и я предполагаю, что именно поэтому NUnitForms не поддерживается (если это правда).

Избавьте себя от мучений и посмотрите на применение таких шаблонов проектирования, как Контроллер представления модели или Модель представления представления модели . Это позволит вам более надежно тестировать логику пользовательского интерфейса.

3
ответ дан 17 December 2019 в 00:09
поделиться

Я добился больших успехов в использовании инфраструктуры автоматизации пользовательского интерфейса, которая входит в состав .Net 3.0 и более поздних версий. Я написал учебное пособие , которое может помочь вам начать работу.

1
ответ дан 17 December 2019 в 00:09
поделиться

Есть очень хороший и простой для понимания пример инфраструктуры MVC, созданной Айенде, см. эту запись в его блоге для получения дополнительных сведений. Это работает путем добавления в ваше приложение очень легкой инфраструктуры, которая автоматически связывает кнопки с событиями.

Используя этот тип фреймворка, вы вынуждены не иметь никакой логики в вашем представлении, только в вашем презентаторе. Затем вы можете легко провести модульное тестирование логики, не касаясь WinForms.

Я начал перенос Effectus на .NET 2.0 и WinForms, он здесь , если вам интересно.

0
ответ дан 17 December 2019 в 00:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: