Инструментарий для unit- тестирования

Preview:

DESCRIPTION

Инструментарий для unit- тестирования. Сергей Попов Независимый разработчик. О чем пойдет речь?. Unit-Testing Frameworks Dependency Injection (DI) и Inversion of Control ( IoC ) Frameworks Mock Frameworks Code Coverage Tools Автоматические генераторы тестов. Unit-Testing Frameworks. - PowerPoint PPT Presentation

Citation preview

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: psg@sergeypopov.infoБлог:http://sergeypopov.info/Twitter:http://twitter.com/psg1234

Recommended