Если вы обрабатываете простые сериализуемые типы, вы можете сделать это довольно легко, если вы преобразуете массивы в строку:
public static bool ContainsList<T>(this List<T> containingList, List<T> containedList)
{
string strContaining = "," + string.Join(",", containingList) + ",";
string strContained = "," + string.Join(",", containedList) + ",";
return strContaining.Contains(strContained);
}
Обратите внимание, что это метод расширения, поэтому вы сможете называть его как :
if (bigList.ContainsList(smallList))
{
...
}
Ответ, который развился за последние несколько лет, Вы не применяете TDD к GUI, Вы разрабатываете GUI в таком как способ, которым существует слой только под Вами, может разработать с TDD. Gui уменьшается до тривиального отображения средств управления к ViewModel, часто с привязкой платформы, и так проигнорирован для TDD.
Это известно по-разному как Модель Презентации (Fowler) Model-View-ViewModel и архитектура DataModel-View-ViewModel .
Этот подход удаляет уровень GUI из TDD и поблочного тестирования. Это не означает, что GUI никогда не тестируется, но просто подтверждает, что это не экономически эффективно для преследования автоматизированного тестирования GUI, особенно как часть TDD. Интеграция и пользователь, тестирующий, должны покрыть GUI.
Josh Smith статья WPF 2009 года является подробным объяснением MVVM с некоторым тестированием.
Позже, Houssem Dellai 2 016 Модульных тестов Создания видео на Приложения Форм Xamarin шоу UI XAML со связанным ViewModel и обходами посредством создания проекта
модульного тестаУ Chad Myers есть хороший обход посредством тестирования контроллера:
http://www.chadmyers.com/Blog/archive/2007/11/27/tdd-with-asp.net-mvc-3.5-extensions.aspx
Почему нет. Здесь хорошая статья, от объектный наставник .
Найденный другим сообщением в блоге, TDD - Введение в Moq. Его связанное с C# и VB.NET.
Проверка Миф и Неправильное представление относительно TDD являются необходимостью.
Вот книга, связанная с.NET, TDD в Microsoft.NET .