Содержание
- 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)







Client vs server side rendering react
Обобщающий урок по теме: Информация
Симулятор установки windows 5
Программа учета сведений об абонентах сотового оператора
Адаптация образовательного процесса путём внедрения информационных технологий
Дизайн интерфейса Naumen SoftPhone 7.3. Интуитивно понятный интерфейс
Протокол передачи данных I2C
Численное моделирование параметров облачности для анализа их влияния на процессы переноса излучения в атмосфере
Информационная гигиена
ТЗ landing page. Интести®-бактериофаг
Исследование для компании Мегафон. Удовлетворенность качеством связи у МегаФон
Библиографический калейдоскоп онлайн обзор
Системы счисления. Правила сложения двоичных чисел. (часть 3)
Fakultetus
Криминологическая характеристика киберпреступлений
Режимы передачи данных
Анализ дискреционного принципа контроля доступа к информации
Пещера мраморных камней. Проект игры
Java_amm_lesson_4
Интеллектуальный марафон
Воспаление: структурно-функциональные и молекулярно-биологические аспекты Электронное обучающе-контролирующее учебное пособие
Изучение компьютерных моделей
Федеральный фонд данных ДЗЗ из космоса – порядок ведения и эксплуатации
Зависимость от социальных сетей
Нейронные сети и их применение
Дерево Фенвика
Ссылки – теория
Статистическая сводка и группировка