Содержание
- 2. Будет ли тест понятен ревьюеру? Можно ли быстро убедиться в корректности теста? Можно ли быстро понять,
- 3. [TestFixture] public class Superman_Should { [Test] public void SaveKittenFromTree() { … superman.Act(); Assert.That(kitten.IsSaved()); } [Test] public
- 4. [TestFixture] public class Superman_Should { [Test] public void SaveKittenFromTree() {…} [Test] public void WearRedBlueSuit_WhenAtWork() {…} }
- 5. System Under Test имя класса, имя метода Условия вход, состояние Результат ожидаемое поведение или требования для
- 6. ParserTests.TestParse ParserTests.Parse_Fails ParserTests.Parse_BigNumbers ParserTests.Parse_NumbersGreaterThanMaxInt ParserTests.Fails_OnNegativeNumbers ИМЯ ТЕСТА КАК СПЕЦИФИКАЦИЯ
- 7. IsAdult_AgeLessThan18_False ParseInt_Should.Fails_OnNonNumber Stack_Should.BeEmpty_AfterCreation When_MandatoryFieldsAreMissing_Expect_StudentAdmissionToFail ИМЯ ТЕСТА КАК СПЕЦИФИКАЦИЯ
- 8. ИМЯ ТЕСТА КАК СПЕЦИФИКАЦИЯ
- 9. ИМЯ ТЕСТА КАК СПЕЦИФИКАЦИЯ
- 10. Arrange Act Assert ПРАВИЛЬНАЯ СТРУКТУРА ТЕСТА
- 11. АНТИПАТТЕРНЫ https://habr.com/post/43761/
- 12. ПОЧЕМУ НЕ ВСЕ ПИШУТ ТЕСТЫ?
- 13. ПИШЕМ ТЕСТЫ ЛЕГКО ТЕСТ НАПИСАТЬ – КАК ЧАЙ ПОПИТЬ
- 14. БОРЬБА С ДУБЛИРОВАНИЕМ
- 15. СБОРКА И РАЗБОРКА ОКРУЖЕНИЯ [OneTimeSetUp|OneTimeTearDown] [SetUp|TearDown]
- 16. [TestFixture] public class Mailbox_Should { private Mailbox mailbox; [SetUp] public void SetUp() { mailbox = new
- 17. OBJECT MOTHER & TEST DATA BUILDER
- 18. PARAMETRIZED TESTS ОНИ ЖЕ DATA DRIVEN
- 19. ДОПОЛНИТЕЛЬНЫЕ ТРЮКИ
- 20. Assert.AreEqual(expected, actual) VS Assert.AreEqual(actual, expected) Assert.That(2+2, Is.EqualTo(4)) Assert.That(x, IResolveConstraint) ASSERT // O_o ?!?
- 21. (2+2).Should().Be(4) flag.Should().BeTrue() new[] {1,2,3} .Should().AllBeEquivalentTo(new [] {3,2,1}); new[] {1,2,3} .Should().AllBeEquivalentTo( new [] {1,2,3}, options => options.WithStrictOrdering());
- 22. Action action = () => { var z = x / y; }; action.ShouldThrow (); ОЖИДАНИЕ
- 23. [Test, Timeout(1000)] public void ShouldDoInTimeout() { … } ОГРАНИЧЕНИЕ ПО ВРЕМЕНИ
- 24. [Test, Category("Smokie")] public void Test() { … } ВЫБОР ТЕСТОВ ДЛЯ ПРОГОНА
- 25. LIVE TEMPLATES Resharper → Tools → Templates Explorer Import tests-templates.DotSettings tf — TestFixture tt — Test
- 26. HOTKEYS Ctrl+T+R Ctrl+U+R
- 27. CHALLENGE
- 28. WordsStatistics WordStatisticsXXX Ctrl+F5 CHALLENGE
- 29. Тесты по спецификации — это просто Как взаимодействуют разные пункты спецификации? CHALLENGE РАЗБОР
- 30. Важен не только результат, но и время выполнения CHALLENGE РАЗБОР
- 31. Тесты не заменяют Code Review Code Review не заменяет тесты CHALLENGE РАЗБОР
- 33. Скачать презентацию

![[TestFixture] public class Superman_Should { [Test] public void SaveKittenFromTree() { … superman.Act();](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1156638/slide-2.jpg)
![[TestFixture] public class Superman_Should { [Test] public void SaveKittenFromTree() {…} [Test] public](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1156638/slide-3.jpg)










![СБОРКА И РАЗБОРКА ОКРУЖЕНИЯ [OneTimeSetUp|OneTimeTearDown] [SetUp|TearDown]](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1156638/slide-14.jpg)
![[TestFixture] public class Mailbox_Should { private Mailbox mailbox; [SetUp] public void SetUp()](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1156638/slide-15.jpg)




![(2+2).Should().Be(4) flag.Should().BeTrue() new[] {1,2,3} .Should().AllBeEquivalentTo(new [] {3,2,1}); new[] {1,2,3} .Should().AllBeEquivalentTo( new []](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1156638/slide-20.jpg)

![[Test, Timeout(1000)] public void ShouldDoInTimeout() { … } ОГРАНИЧЕНИЕ ПО ВРЕМЕНИ](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1156638/slide-22.jpg)
![[Test, Category("Smokie")] public void Test() { … } ВЫБОР ТЕСТОВ ДЛЯ ПРОГОНА](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1156638/slide-23.jpg)







Предметно-ориентированное проектирование автоматизированных систем управления
Синтаксис оператора
Классы: основные понятия
cybersport
Вирусы и антивирусные средства
Презентация на тему Процессоры
Общие правила оформления презентаций
ГИСП (государственная информационная система промышленности)
Неаккуратный кот
Осенний пейзаж. Рисование во встроенных графических редакторах (MS Word, OpenOffice.org Writer)
Презентация на тему Информационное моделирование как метод познания
Программное обеспечение
Конкурс LetoNeon для социальных сетей ТРК ЛЕТО
Программа iSpring Free
Построение таблиц истинности
Программирование и алгоритмизация. Основы программирования. Введение в специальность. Лекция 2
Социальная сеть для педагогического сообщества
Путешествие в страну алгоритмов
Электронный документооборот
Онлайн-передача фискальных данных с кассовой техники в ФНС в соответствии c изменениями в 54-ФЗ
Алгоритмы решения задач с использованием операторов цикла. Структура операторов цикла (лекция 4)
Компьютерная графика
Компоновка
Бизнес инсайт. Почти бесплатные способы продвижения сайта
СМИ в жизни человека. Анкетирование
Юные шифровальщики. Мини-проект
Lection_5
Whatsapp-лендинг. Очередь клиентов в любой бизнес без сайта и с конверсией до 80%