Upgrade to Pro — share decks privately, control downloads, hide ads and more …

iOS TDD

iOS TDD

Abc432bb0450574a25b15ff23d399d5a?s=128

Vladimir Pouzanov

February 11, 2012
Tweet

Transcript

  1. None
  2. iOS TDD Vladimir “farcaller” Pouzanov

  3. Как мы используем TDD для разработки

  4. Как мы используем TDD для ускорения разработки

  5. Как вам использовать TDD для ускорения разработки

  6. Цикл TDD

  7. Написать тест

  8. Написать тест Написать реализацию

  9. Написать тест Написать реализацию Смыть, повторить

  10. Написать тест Написать реализацию Смыть, повторить

  11. Общие проблемы

  12. Вы тестируете не то, что необходимо

  13. Вы тестируете не то, что необходимо, а то, к чему

    получается написать тест
  14. Вы тестируете не изолированный компонент

  15. Вы тестируете не изолированный компонент, а часть общей схемы

  16. Вы тестируете не чистое состояние объекта

  17. Вы тестируете не чистое состояние объекта, а то, в котором

    он хоть как-то работает
  18. Кто виноват?

  19. Неявная реализация MVC где-то между Model и Controller

  20. Жесткое связывание

  21. Синглтоны

  22. Сетевой стек

  23. Сложность интеграции OCUnit

  24. Широкий набор сторонних фреймворков

  25. Что делать?

  26. Double-click to edit

  27. Dependency Injection

  28. Objection

  29. Injective

  30. Как тестируют в «лучшем» мире

  31. Ruby

  32. Rails

  33. RSpec & Cucumber

  34. Kiwi & Cucumber

  35. UIAutomation + jasmine

  36. Посмотрим?

  37. Что дальше?

  38. Рефакторинг!

  39. Поиск мертвецов

  40. Подчистка копипасты

  41. Еще раз

  42. Тестировать – хорошо и полезно

  43. Dependency Injection упрощает создание тестового окружения

  44. Тесты позволяют рефакторить безболезненно

  45. Проверка покрытия намекает на то, что вы реально тестируете

  46. Спасибо.

  47. Вопросы? #iosdevcamp