SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
Автор: Александр Гойда, 2015г.
Тестирирование с xUnit
Вы узнаете:
● Зачем тесты и познакомитесь с xUnit
● Как написать и запустить тест xUnit
● Узнаете о Fact, Theory, Fixture,
Collections и контекстах
● Поговорим, почему не надо
тестировать приватные методы
Автор: Александр Гойда, 2015г.
Зачем тесты
● больше уверенность в новых изменениях
● проще рефакторить, более изолированный код
● помогает избежать over-architecturing
● уменьшает время поддержки
Писать тесты НЕ НАДО если:
● Вы всегда пишете код без ошибок, обладаете идеальной
памятью и даром предвидения
● Ваш код изменять себя сам, делает это без ошибок, в
соответствии с требованиями
● Ваш код абсолютно понятен и умеет объяснять, как он
работает и где есть “подводные камни”
Автор: Александр Гойда, 2015г.
Что такое xUnit
Why Did we Build xUnit 1.0? (http://xunit.github.io/docs/why-did-we-build-xunit-1.0.html)
Comparing xUnit.net to other frameworks (http://xunit.github.io/docs/comparisons.html)
Автор: Александр Гойда, 2015г.
Пишем и запускаем тесты xUnit
1. Создаем обычный Class Library проект
2. Добавляем из NuGet следующие пакеты в этот проект:
a. Install-Package xunit -Pre
b. VS: Install-Package xunit.runner.visualstudio -Pre
c. R#: with plugin (ReSharper's Extension Manager)
3. Добавляем класс
4. Добавляем метод с юнит тестом
5. Используя стандартное меню, запускаем
ОЧЕНЬ ПРОСТО!
Автор: Александр Гойда, 2015г.
Fact, Theory, Fixture, Collections
[Fact] - юнит-тест
[Theory] - параметризованый юнит-тест
fixture - класс для настройки и очистки контекста одного сьюта
collection - то же самое, для группы сьютов
Tests setup & teardown - интерфейс IDisposable
*) можно использовать наследование при дизайне fixtures, но конструктор сьюта должен иметь конкретный тип,
указанный в IClassFixture<T> или ICollcationFixture<T>.
Getting Started with xUnit.net (https://xunit.github.io/docs/getting-started.html)
Shared Context between Tests (https://xunit.github.io/docs/shared-context.html)
Data-driven test with xUnit (http://binary-notes.ru/data-driven-test-with-xunit/)
Автор: Александр Гойда, 2015г.
За и Против тестирования private
методов
ЗА:
● можно быстро добиться
высокого покрытия тестами
● можно тестировать
“внутренности”
● можно обойтись одним
рабочим классом
ПРОТИВ:
● “хрупкие” тесты
● непоказательные тесты
● не тестируют требования
● избыточные тесты
● меньше защищают от
реинкарнации багов
Автор: Александр Гойда, 2015г.
Соглашения
● BDD/TDD
● 3A pattern (Arrange, Act, Assert)
● Isolation
● структура фолдеров и солюшена
Так же:
● TDD Anti-Patterns (http://blog.james-carr.org/2006/11/03/tdd-anti-patterns/)
● Guidelines for Test-Driven Development (https://msdn.microsoft.com/en-us/library/aa730844(v=vs.80).aspx)
● Introduction to Test Driven Development (TDD) (http://agiledata.org/essays/tdd.html)
● Введение в программирование через поведение (BDD) (http://habrahabr.ru/post/216923/)
● Common TDD Myths (http://www.pathfindersolns.com/common-myths-tdd/)
● Busting TDD myths (Serhiy Kalinets, Ukraine) (http://www.youtube.com/watch?v=SAXKwiwaq90)

Contenu connexe

Tendances

Принципы Solid на практике
Принципы Solid на практикеПринципы Solid на практике
Принципы Solid на практикеEatDog
 
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...Sergey Ponomarev
 
Сергей Сергеев "Менеджмент кода, или Почему SCM"
Сергей Сергеев "Менеджмент кода, или Почему SCM"Сергей Сергеев "Менеджмент кода, или Почему SCM"
Сергей Сергеев "Менеджмент кода, или Почему SCM"Yandex
 
Контроль за качеством кода
Контроль за качеством кодаКонтроль за качеством кода
Контроль за качеством кодаКирилл Борисов
 
Делаем Unit тесты проще
Делаем Unit тесты прощеДелаем Unit тесты проще
Делаем Unit тесты прощеSergii Zelenin
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летPositive Hack Days
 
Скандалы, расследования, тестирование
Скандалы, расследования, тестированиеСкандалы, расследования, тестирование
Скандалы, расследования, тестированиеSQALab
 
КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения
КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения
КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения Iosif Itkin
 

Tendances (9)

Принципы Solid на практике
Принципы Solid на практикеПринципы Solid на практике
Принципы Solid на практике
 
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
 
Сергей Сергеев "Менеджмент кода, или Почему SCM"
Сергей Сергеев "Менеджмент кода, или Почему SCM"Сергей Сергеев "Менеджмент кода, или Почему SCM"
Сергей Сергеев "Менеджмент кода, или Почему SCM"
 
Контроль за качеством кода
Контроль за качеством кодаКонтроль за качеством кода
Контроль за качеством кода
 
Keyword driven testing
Keyword driven testingKeyword driven testing
Keyword driven testing
 
Делаем Unit тесты проще
Делаем Unit тесты прощеДелаем Unit тесты проще
Делаем Unit тесты проще
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 лет
 
Скандалы, расследования, тестирование
Скандалы, расследования, тестированиеСкандалы, расследования, тестирование
Скандалы, расследования, тестирование
 
КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения
КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения
КГТУ Лекция 6: Обеспечение Качества Программного Обеспечения
 

Similaire à Тестирирование с xUnit

Александр Ярулин - Автоматизация тестирования с xUnit
Александр Ярулин - Автоматизация тестирования с xUnitАлександр Ярулин - Автоматизация тестирования с xUnit
Александр Ярулин - Автоматизация тестирования с xUnitYandex
 
QA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
QA Fest 2019. Андрей Солнцев. Десять причин моей ненавистиQA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
QA Fest 2019. Андрей Солнцев. Десять причин моей ненавистиQAFest
 
Модульное тестирование и TDD в .NET
Модульное тестирование и TDD в .NETМодульное тестирование и TDD в .NET
Модульное тестирование и TDD в .NETAlexander Byndyu
 
Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyЧитабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyDmytro Zharii
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...HappyDev
 
Test Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsTest Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsAnton Vidishchev
 
Test driven development in net
Test driven development in netTest driven development in net
Test driven development in netAlex Tumanoff
 
"Outside In". Web application testing.
"Outside In". Web application testing."Outside In". Web application testing.
"Outside In". Web application testing.Mad Devs
 
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012Dmytro Mindra
 
Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...jazzteam
 
ClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDDClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDDClub QA Kostroma
 
Unit testing and TDD
Unit testing and TDDUnit testing and TDD
Unit testing and TDDIosif Itkin
 
Froglogic Squish
Froglogic Squish Froglogic Squish
Froglogic Squish SQALab
 
Модульное тестирование с помощью visual studio 2012 MS Test, Nunit, X-unit.ne...
Модульное тестирование с помощью visual studio 2012 MS Test, Nunit, X-unit.ne...Модульное тестирование с помощью visual studio 2012 MS Test, Nunit, X-unit.ne...
Модульное тестирование с помощью visual studio 2012 MS Test, Nunit, X-unit.ne...Александр Шамрай
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenchesGleb Rybalko
 
Introduction into Test Driven Development
Introduction into Test Driven DevelopmentIntroduction into Test Driven Development
Introduction into Test Driven DevelopmentIvan Dyachenko
 
Андрей Зайцев - TDD в кровавом энтерпрайзе
Андрей Зайцев - TDD в кровавом энтерпрайзеАндрей Зайцев - TDD в кровавом энтерпрайзе
Андрей Зайцев - TDD в кровавом энтерпрайзеElias Fofanov
 
Jubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation ToolJubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation ToolCOMAQA.BY
 

Similaire à Тестирирование с xUnit (20)

Александр Ярулин - Автоматизация тестирования с xUnit
Александр Ярулин - Автоматизация тестирования с xUnitАлександр Ярулин - Автоматизация тестирования с xUnit
Александр Ярулин - Автоматизация тестирования с xUnit
 
QA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
QA Fest 2019. Андрей Солнцев. Десять причин моей ненавистиQA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
QA Fest 2019. Андрей Солнцев. Десять причин моей ненависти
 
Модульное тестирование и TDD в .NET
Модульное тестирование и TDD в .NETМодульное тестирование и TDD в .NET
Модульное тестирование и TDD в .NET
 
Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyЧитабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
 
Test Driven Development in .NET Applications
Test Driven Development in .NET ApplicationsTest Driven Development in .NET Applications
Test Driven Development in .NET Applications
 
Test driven development in net
Test driven development in netTest driven development in net
Test driven development in net
 
"Outside In". Web application testing.
"Outside In". Web application testing."Outside In". Web application testing.
"Outside In". Web application testing.
 
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
 
Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...
 
ClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDDClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDD
 
Unit testing and TDD
Unit testing and TDDUnit testing and TDD
Unit testing and TDD
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Froglogic Squish
Froglogic Squish Froglogic Squish
Froglogic Squish
 
Модульное тестирование с помощью visual studio 2012 MS Test, Nunit, X-unit.ne...
Модульное тестирование с помощью visual studio 2012 MS Test, Nunit, X-unit.ne...Модульное тестирование с помощью visual studio 2012 MS Test, Nunit, X-unit.ne...
Модульное тестирование с помощью visual studio 2012 MS Test, Nunit, X-unit.ne...
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Introduction into Test Driven Development
Introduction into Test Driven DevelopmentIntroduction into Test Driven Development
Introduction into Test Driven Development
 
Unit тесты java
Unit тесты javaUnit тесты java
Unit тесты java
 
Андрей Зайцев - TDD в кровавом энтерпрайзе
Андрей Зайцев - TDD в кровавом энтерпрайзеАндрей Зайцев - TDD в кровавом энтерпрайзе
Андрей Зайцев - TDD в кровавом энтерпрайзе
 
Jubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation ToolJubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation Tool
 

Тестирирование с xUnit

  • 1. Автор: Александр Гойда, 2015г. Тестирирование с xUnit Вы узнаете: ● Зачем тесты и познакомитесь с xUnit ● Как написать и запустить тест xUnit ● Узнаете о Fact, Theory, Fixture, Collections и контекстах ● Поговорим, почему не надо тестировать приватные методы
  • 2. Автор: Александр Гойда, 2015г. Зачем тесты ● больше уверенность в новых изменениях ● проще рефакторить, более изолированный код ● помогает избежать over-architecturing ● уменьшает время поддержки Писать тесты НЕ НАДО если: ● Вы всегда пишете код без ошибок, обладаете идеальной памятью и даром предвидения ● Ваш код изменять себя сам, делает это без ошибок, в соответствии с требованиями ● Ваш код абсолютно понятен и умеет объяснять, как он работает и где есть “подводные камни”
  • 3. Автор: Александр Гойда, 2015г. Что такое xUnit Why Did we Build xUnit 1.0? (http://xunit.github.io/docs/why-did-we-build-xunit-1.0.html) Comparing xUnit.net to other frameworks (http://xunit.github.io/docs/comparisons.html)
  • 4. Автор: Александр Гойда, 2015г. Пишем и запускаем тесты xUnit 1. Создаем обычный Class Library проект 2. Добавляем из NuGet следующие пакеты в этот проект: a. Install-Package xunit -Pre b. VS: Install-Package xunit.runner.visualstudio -Pre c. R#: with plugin (ReSharper's Extension Manager) 3. Добавляем класс 4. Добавляем метод с юнит тестом 5. Используя стандартное меню, запускаем ОЧЕНЬ ПРОСТО!
  • 5. Автор: Александр Гойда, 2015г. Fact, Theory, Fixture, Collections [Fact] - юнит-тест [Theory] - параметризованый юнит-тест fixture - класс для настройки и очистки контекста одного сьюта collection - то же самое, для группы сьютов Tests setup & teardown - интерфейс IDisposable *) можно использовать наследование при дизайне fixtures, но конструктор сьюта должен иметь конкретный тип, указанный в IClassFixture<T> или ICollcationFixture<T>. Getting Started with xUnit.net (https://xunit.github.io/docs/getting-started.html) Shared Context between Tests (https://xunit.github.io/docs/shared-context.html) Data-driven test with xUnit (http://binary-notes.ru/data-driven-test-with-xunit/)
  • 6. Автор: Александр Гойда, 2015г. За и Против тестирования private методов ЗА: ● можно быстро добиться высокого покрытия тестами ● можно тестировать “внутренности” ● можно обойтись одним рабочим классом ПРОТИВ: ● “хрупкие” тесты ● непоказательные тесты ● не тестируют требования ● избыточные тесты ● меньше защищают от реинкарнации багов
  • 7. Автор: Александр Гойда, 2015г. Соглашения ● BDD/TDD ● 3A pattern (Arrange, Act, Assert) ● Isolation ● структура фолдеров и солюшена Так же: ● TDD Anti-Patterns (http://blog.james-carr.org/2006/11/03/tdd-anti-patterns/) ● Guidelines for Test-Driven Development (https://msdn.microsoft.com/en-us/library/aa730844(v=vs.80).aspx) ● Introduction to Test Driven Development (TDD) (http://agiledata.org/essays/tdd.html) ● Введение в программирование через поведение (BDD) (http://habrahabr.ru/post/216923/) ● Common TDD Myths (http://www.pathfindersolns.com/common-myths-tdd/) ● Busting TDD myths (Serhiy Kalinets, Ukraine) (http://www.youtube.com/watch?v=SAXKwiwaq90)