Презентация Гавришов Юрий TulaSoft www. sqlaccessories. com Все, в том числе и ложь, служит истине. Франц Кафка TulaDev. NET. - презентация онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Гавришов Юрий TulaSoft www. sqlaccessories. com Все, в том числе и ложь, служит истине. Франц Кафка TulaDev. NET. - презентация абсолютно бесплатно. Урок-презентация на эту тему содержит всего 20 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Образование » Гавришов Юрий TulaSoft www. sqlaccessories. com Все, в том числе и ложь, служит истине. Франц Кафка TulaDev. NET. - презентация



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    20 слайдов
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    128.34 kB
  • Просмотров:
    120
  • Скачиваний:
    0
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

№1 слайд
Использование mock-объектов в
Содержание слайда: Использование mock-объектов в модульном тестировании

№2 слайд
Без тестов жить нельзя на
Содержание слайда: «Без тестов жить нельзя на свете, нет» Тесты хорошо, а TDD лучше Результат применения: Рабочий протестированный код Способствует хорошему дизайну. Самодокументация

№3 слайд
Unit-тесты. Когда невыгодно
Содержание слайда: Unit-тесты. Когда невыгодно/неудобно/не получается использовать Слишком дорого Невысокая цена ошибки Надо было сделать вчера

№4 слайд
Ситуации, когда сложно
Содержание слайда: Ситуации, когда сложно использовать юнит-тесты Нужно протестировать класс, который взаимодействует с с базой данных с внешним устройством с файловой системой с внешним сервисом То есть Если класс взаимодействует с внешней средой, от которой его надо изолировать. Если класс работает с объектом, методы которого отрабатывают немгновенно. Особый случай: Если класс работает с объектом или группой объектов, у которых сложная инициализация.

№5 слайд
Выход использовать поддельные
Содержание слайда: Выход – использовать поддельные объекты Пробуем: Сделаем вид, что мы не знаем про моки Ура, используем мок-фреймворк

№6 слайд
Разновидности поддельных
Содержание слайда: Разновидности поддельных объектов (test doubles) Dummy Test Stub Test Spy Mock object Fake Object

№7 слайд
Behavior vs state
Содержание слайда: Behavior vs state verification Mock-стиль проверки (behavior verification) мы проверям, как происходит взаимодействие объектов. Классический стиль проверки (state verification) мы проверяем результаты взаимодействия.

№8 слайд
Принцип работы и ограничения
Содержание слайда: Принцип работы и ограничения «классических» mock-объектов Возможности и ограничения: Можно мочить классы и интерфейсы. В классах можно подменять методы и свойства. Классы не должны быть sealed. Свойства и методы должны быть виртуальными (public or internal)

№9 слайд
Существующие фреймворки
Содержание слайда: Существующие фреймворки NMock, Nmock2 (RR) Rhino Mocks (AAA, RR, …) Moq (AAA) Microsoft.Moles TypeMock

№10 слайд
Record-Replay syntax RR
Содержание слайда: Record-Replay syntax (RR) (пример кода на Rhino.Mocks)

№11 слайд
Возможности Moq Последнее
Содержание слайда: Возможности Moq Последнее обновление — август 2010. Текущая версия — 4.0. Не поддерживает Record/Replay. Минимальная версия .NET – 3.0. Один простой вариант использования: mock = new Mock<ICommand>(); Параметры: явное указание, любые, диапазон, регулярное выражение (пример) Генерация исключений (пример) Ruturns: значение, отложенная инициализация и делегат (пример) Callback. Позволяют накапливать параметры вызванных методов. Verification (пример) Возможность настройки поведения при помощи перечисления MockBehavior (примеры) Можно задавать ожидания по умолчанию в SetUp и переопределять их в тесте Перегрузка protected методов (пример) Как «мочить» internal сущности (пример)

№12 слайд
Microsoft.Moles Не является
Содержание слайда: Microsoft.Moles Не является классической mock-библиотекой. Может переопределять все, что угодно (пример) Можно переопределять члены системных типов Есть только заглушки, моков нет Можно использовать в NUnit и т. д. Подробнее о возможностях (пример)

№13 слайд
Microsoft.Moles заглушки и
Содержание слайда: Microsoft.Moles: заглушки и моли

№14 слайд
Мы можем указывать, какие
Содержание слайда: Мы можем указывать, какие типы хотим переопределять <Moles xmlns="http://schemas.microsoft.com/moles/2010/"> <Assembly Name="mscorelib"> <StubGeneration> <Types> <Clear /> <Add Namespace="System!" /> <Add Namespace="Express" /> <Add Namespace="SomeUtils*" /> <Remove TypeName="NotUsedClass" /> </Types> </StubGeneration> </Assembly> </Moles>   <StubGeneration> <Types> <Clear /> <Add AbstractClasses="true"/> </Types> </StubGeneration>

№15 слайд
Можно управлять поведением
Содержание слайда: Можно управлять поведением Чтобы изменить поведение объекта, делаем так: stub.InstanceBehavior = BehavedBehaviors.DefaultValue; MoleBehaviors.DefaultValue — незамещенные члены класса будут замещены пустым делегатом и возвращать дефолтное значение типа возвращаемого результата MoleBehaviors.NotImplemented — при обращении к незамещенному члену будет возникать исключение NotImplementedException MoleBehaviors.Fallthrough — вызовы к незамещенным членам будут обработаны согласно оригинальной реализации их в замещаемом классе

№16 слайд
Microsoft.Moles выводы Мощное
Содержание слайда: Microsoft.Moles: выводы Мощное средство изоляции Но как всегда есть недостатки: Не хватает моков Накладные расходы на поддержание «теневых» сборок Некрасивые правила формирования имен Тормозит рефакторинг

№17 слайд
TypeMock Платная библиотека
Содержание слайда: TypeMock Платная библиотека для написания тестов в изоляции. Лишена некоторых недостатков Microsoft.Moles Осуществляет перехват вызовов на уровне всего приложения Имеется графический тул

№18 слайд
Промежуточные выводы
Содержание слайда: Промежуточные выводы Использовать Moles и Typemock не всегда полезно При построении новой логики лучше пользоваться DIP и другими инструментами

№19 слайд
Выводы Использование моков и
Содержание слайда: Выводы Использование моков и заглушек: расширяет применимость юнит-тестов позволяют легко тестировать объекты, не имеющие состояния упрощают setup-методы тестов позволяют тестировать классы в изоляции

№20 слайд
Ссылки Проект Moq http
Содержание слайда: Ссылки Проект Moq http://code.google.com/p/moq/ Проект Rhino Mocks http://www.ayende.com/projects/rhino-mocks.aspx Microsoft.Moles http://research.microsoft.com/en-us/projects/pex/default.aspx Изолятор TypeMock http://www.typemock.com/typemock-isolator-product3

Скачать все slide презентации Гавришов Юрий TulaSoft www. sqlaccessories. com Все, в том числе и ложь, служит истине. Франц Кафка TulaDev. NET. - презентация одним архивом:
Похожие презентации