Можно ли использовать TDD для приложения gui? Как это сделать.
Как применить тестовую разработку для приложения GUI (VC MFC)?
Ответ 1
Ответ, который сложился за последние несколько лет, заключается в том, что вы не применяете TDD к графическому интерфейсу, вы проектируете графический интерфейс таким образом, чтобы там был только один слой, который вы можете разрабатывать с помощью TDD. Gui сводится к тривиальному отображению элементов управления в ViewModel, часто с привязками к структуре, поэтому для TDD игнорируется.
Это известно как Модель представления (Fowler) Model-View-ViewModel и DataModel-View-ViewModel.
Этот подход удаляет слой GUI из TDD и модульного тестирования. Это не означает, что графический интерфейс никогда не тестируется, а просто признает, что нецелесообразно проводить автоматическое тестирование графического интерфейса, в частности, как часть TDD. Интеграция и тестирование пользователей должны охватывать GUI.
Джош Смит 2009 WPF статья является подробным объяснением MVVM с некоторыми тестированиями.
Совсем недавно, Houssem Dellai 2016 видео Создание модульных тестов для приложений Xamarin Forms показывает интерфейс XAML со связанной ViewModel и проходит через создание unit test проект
Ответ 2
Почему бы и нет. Здесь - хорошая статья, из наставника объектов.
Нашел еще один пост в блоге, TDD - Введение в Moq. Это связано с С# и VB.NET.
Проверка Миф и заблуждение относительно TDD является обязательным.
Вот книга, связанная с .NET, TDD в Microsoft.NET.
Ответ 3
Чад Майерс хорошо проводит тестирование контроллера:
http://www.chadmyers.com/Blog/archive/2007/11/27/tdd-with-asp.net-mvc-3.5-extensions.aspx