Содержание
- 2. Зачем писать автоматические тесты? Удостовериться, что код работает А также, что он продолжает работать после очередных
- 3. Первый тест C# NUnit JS Mocha
- 4. Результаты теста
- 5. Результаты теста
- 6. Результаты теста
- 7. Тесты как спецификация Что тестируем (SUT System Under Tests) Что ожидаем (expectation) (Опционально) При каких условиях
- 8. Тесты как спецификация Что тестируем (SUT System Under Tests) Что ожидаем (expectation) (Опционально) При каких условиях
- 9. Тесты как спецификация Calculator Specification Add Should add given number to accumulated value Should fail if
- 10. Тесты как спецификация Calculator Specification Add Should add given number to accumulated value Should fail if
- 11. C# реализация
- 12. JS реализация
- 13. Результаты тестов
- 14. Результаты тестов
- 15. Структура теста. AAA Подготовка (Arrange) Действие (Act) Проверка (Assert)
- 16. Возможные ошибки
- 17. Возможные ошибки
- 18. Возможные ошибки Тест работает только на машине разработчика System.IO.DirectoryNotFoundException : Не удалось найти часть пути "c:\my\local\path\file.txt".
- 19. Возможные ошибки
- 20. Возможные ошибки Тест ничего не проверяет. Перманентно зеленый. Даже если изменится значимое содержимое файла, тест будет
- 21. Возможные ошибки
- 22. Тест проверяет слишком много Expected: True But was: False ??? Тест проверяет слишком много. Нет единой
- 23. Устраняем дублирование Параметризованные тесты (Data Driven Tests) Выделение общей фазы Arrange, а также фазы сборки ресурсов
- 24. Data Driven Tests C#
- 25. Data Driven Tests C#
- 26. Data Driven Tests C#
- 27. Data Driven Tests C#
- 28. Data Driven Tests JS
- 29. Data Driven Tests JS
- 30. Настройка окружения Выполнить что либо перед запуском всех тестов SUT Выполнить что либо перед запуском каждого
- 31. Настройка окружения C#
- 32. Настройка окружения C# OneTimeSetUp SetUp test1 TearDown SetUp test2 TearDown OneTimeTearDown
- 33. Настройка окружения JS
- 34. Настройка окружения JS before beforeEach test1 afterEach beforeEach test2 afterEach after
- 35. Делаем тесты читабельнее C# FluentAssertions http://fluentassertions.com (2 + 2).Should().Be(4); array.Should().HaveCount(3); complexObject.ShouldBeEquivalentTo(anotherObject); JS Chai http://chaijs.com (2+2).should.be.equal(2); [1,2,3].should.to.have.lengthOf(3)
- 36. Test Driven Development Не всегда после написания кода его легко протестировать. Не всегда после написания кода,
- 37. Test Driven Development Не всегда после написания кода его легко протестировать. Не всегда после написания кода,
- 38. Test Driven Development Не всегда после написания кода его легко протестировать. Не всегда после написания кода,
- 39. Test Driven Development Плюсы: Код делает только то, что нужно и делает это правильно ~100% покрытие
- 40. Test Driven Development Наилучшие Use Cases: Сложная задача Исправление бага (сначала нужно показать, что баг был(тест
- 41. Практика. Игра жизнь Правила: Дано клеточное поле размера N на M с заданной конфигурацией клеток. Каждая
- 42. Итоги Тесты - хорошо Доверие к работоспособности Легкость изменения (быстрая обратная связь о том, что что-то
- 44. Скачать презентацию