Инструментарий для unit- тестирования
DESCRIPTION
Инструментарий для unit- тестирования. Сергей Попов Независимый разработчик. О чем пойдет речь?. Unit-Testing Frameworks Dependency Injection (DI) и Inversion of Control ( IoC ) Frameworks Mock Frameworks Code Coverage Tools Автоматические генераторы тестов. Unit-Testing Frameworks. - PowerPoint PPT PresentationTRANSCRIPT
Microsoft TechDayshttp://www.techdays.ru
Инструментарий для unit-тестирования
Сергей ПоповНезависимый разработчик
Microsoft TechDayshttp://www.techdays.ru
О чем пойдет речь?Unit-Testing FrameworksDependency Injection (DI) и Inversion of Control (IoC) FrameworksMock FrameworksCode Coverage ToolsАвтоматические генераторы тестов
Microsoft TechDayshttp://www.techdays.ru
Unit-Testing FrameworksРазметка тестовПроверка условийВыполнение тестовСоздание отчетов
Microsoft TechDayshttp://www.techdays.ru
Unit-Testing FrameworksБиблиотека:
Разметка тестовПроверка условий
Test RunnerВыполнение тестовСоздание отчета
Microsoft TechDayshttp://www.techdays.ru
Unit-Testing Frameworks
Демонстрация
Microsoft TechDayshttp://www.techdays.ru
Unit-Testing Frameworks / .NET
Средства в составе Visual Studiohttp://msdn.microsoft.com/en-us/library/dd264975.aspx
NUnithttp://www.nunit.org/
xUnit.nethttp://www.codeplex.com/xunit
MbUnit / Gallio Automation Platformhttp://www.gallio.org/
Microsoft TechDayshttp://www.techdays.ru
Unit-Testing FrameworksTestDriven.Net
http://www.testdriven.net/
Microsoft TechDayshttp://www.techdays.ru
Inversion of Control
class Service class Storage
interface IStorage
Dependency Injection
public class Service{ public void DoSmth(IStorage storage) { ... }}...var storage = new Storage();new Service().DoSmth(storage);...
Microsoft TechDayshttp://www.techdays.ru
IoC & DI
Демонстрация
Microsoft TechDayshttp://www.techdays.ru
IoC & DI Frameworks / .NETUnity (Microsoft Patterns & Practices)
http://unity.codeplex.com/Ninject
http://ninject.org/Spring.NET
http://www.springframework.net/MEF (Managed Extensibility Framework)
http://msdn.microsoft.com/en-us/library/dd460648.aspx
Microsoft TechDayshttp://www.techdays.ru
Mock Objects & FrameworksMock Object – это реализация некоторого интерфейса, предназначенная только для тестирования
Microsoft TechDayshttp://www.techdays.ru
Mock Frameworks
Демонстрация
Microsoft TechDayshttp://www.techdays.ru
Плюсы Mock FrameworksПростая реализация тестовых сервисовДекларативная форма записи облегчает понимание логики работы теста
Microsoft TechDayshttp://www.techdays.ru
Mock Frameworks / .NETMoq
http://code.google.com/p/moq/NMock
http://nmock.org/Isolator.NET
http://www.typemock.com/Microsoft Moles
http://research.microsoft.com/en-us/projects/moles/
Microsoft TechDayshttp://www.techdays.ru
Code Coverage Tools
Исходная сборка
Модифици-рованная
сборкаВыполнение тестов
Протокол работы Анализ Отчет
Microsoft TechDayshttp://www.techdays.ru
Code Coverage Tools
Демонстрация
Microsoft TechDayshttp://www.techdays.ru
Code Coverage Tools / .NETСредства, входящие в Visual Studio
Using Code Coverage to Determine How Much Code Is Being Testedhttp://msdn.microsoft.com/en-us/library/dd537628.aspx
NCoverhttp://www.ncover.com/
Microsoft TechDayshttp://www.techdays.ru
Генераторы тестовАнализ кодаГенерация минимального набор тестов, дающих лучший Code Coverage
Microsoft TechDayshttp://www.techdays.ru
Генераторы тестов: Microsoft Pex
Демонстрация
Microsoft TechDayshttp://www.techdays.ru
Microsoft PexPex and Moles - Isolation and White box Unit Testing for .NET
http://research.microsoft.com/en-us/projects/pex/
Microsoft TechDayshttp://www.techdays.ru
КонтактыСергей ПоповE-mail: [email protected]Блог:http://sergeypopov.info/Twitter:http://twitter.com/psg1234