Всем привет. В прошлой статье мы рассмотрели создание юнит-теста взаимодействия. Финальной частью курса будет рассмотрение настроенного поведения Moq. Сам тест будет проверять утверждение полнолетнего заемщика с хорошей кредитной историей. Это тест-состояния, так как мы будем проверять возвращаемый объект. Используя наш первый тест: Первое, что наv нужно, – это установить приемлемый…
Пример создания unit-теста взаимодействия
Всем привет. В прошлой статье мы рассмотрели создание теста юнит-теста состояния. Теперь рассмотрим тест взаимодействия. За основу возьмем предыдущий тест, но так как это тест взаимодействия, то нам не нужно волноваться за результат – переменную result и ее использование в Assert. Но нам нужно удостоверится, что вызывался метод HasGoodCreditHistory. Для…
Пример создания unit-теста состояния
Всем привет. В предыдущей статье мы рассмотрели тестируемое приложение. Прежде чем сразу приступать к написанию кода пару слов расскажу о группах юнит-тестов. Все модульные тесты можно условно разделить на: тесты состояния (state based) и тесты взаимодействия (interaction tests). Тесты состояния — это тесты, проверяющие, что вызываемый метод объекта отработал корректно, проверяя состояние тестируемого…
Введение в Unit (модульное) тестирование
Всем привет. Много времени мы предоставили рассмотрению автоматизации интерфейса (UI). Давайте же уделим внимание и рассмотрению юнит и интеграционной автоматизации. Юнит (модульное) тестирование – это написание дополнительного кода с целью проверки мельчайших блоков функционального кода, чтобы убедиться, что они работают без ошибок. Код обычно разрабатывается на классы или объекты. Термин…
Автоматизация WPF – запуск тестов
Всем привет. В предыдущей статье мы рассмотрели написание тестов. Проект автоматизации можно скачать по ссылке GitHub. В Test Explorer Visual Studio можно заметить написанные три теста. Осталось только проверить их в действии. После запуска всех тестов – “Run All” можно заметить, что все они выполнились успешно. Этот тестовый фреймворк будет…
Настройка ccnet.config и запуск тестов
Всем привет. В предыдущей статье мы рассмотрели установку и создание сайта Cruise Control в IIS. Теперь подошло время к непосредственной интеграции. Что ж, поехали… В качестве проекта сборки и автотестов предлагаю использовать рассмотренный ранее фреймворк автоматизации. Сам проект содержит WPF-приложение и подпроект функциональных UI тестов. В конфиге я настроил следующий…
Автоматизация WPF – написание тестов
В предыдущей статье мы рассмотрели определение WinForms элементов. Проект автоматизации можно скачать по ссылке GitHub. Ниже представлен листинг класса App.cs, который представляет тестируемое приложение: Конструктор принимает объект приложений Telerik Testing Framework (WpfApplication) и TestStack White (Application). Доступ к объектам Каждое окно в приложении представлено свойством в классе App. Объекты WPF приложения используют метод VisualFind для своей…
Паттерны Singleton и Null object
Всем привет. Этот урок является частью цикла статей о паттернах проектирования. Пример кода расположен по ссылке. Singleton Паттерн Singleton используется в тех случаях, в которых вы хотите ограничить экземпляр класса только одним объектом. Класс не должен требовать параметры для построения. Если создание класса требует значительных ресурсов, то Singleton является подходящим решением.…
Настройка Сruise Сontrol и интеграция с MSTests используя MSBuild – Введение
Всем привет. Рассматривая процесс автоматизации и контроля качества программного обеспечения, как же не затронуть тему Continuous Integration (Delivery) (дословно “непрерывной интеграции”). Что означает это понятие? Кратко говоря – это автоматизированный процесс подготовки нового кода к внедрению на любой стадии разработки и тестирования программного обеспечения, включающий цепочку действий: планирование и сборку…
Автоматизация WPF – поиск и структура WinForms элементов
В предыдущей статье мы рассмотрели определение WPF элементов. Проект автоматизации можно скачать по ссылке GitHub. WinForms elements manipulation with TestStack White Класс MessageBox.cs представляет объявление конструктора окна сообщений WinForms, пару контролов и действия над ними. MessageBox следует особенностям паттерна Object. Элементы являются приватными (private) свойствами. Действия над ними – общедоступные…