Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
iOS TDD
Search
Vladimir Pouzanov
February 11, 2012
Programming
1
170
iOS TDD
Vladimir Pouzanov
February 11, 2012
Tweet
Share
More Decks by Vladimir Pouzanov
See All by Vladimir Pouzanov
Zinc at Rust London '14
farcaller
1
100
Pixels Everywhere!
farcaller
0
150
Prepare to Dock
farcaller
1
270
REPL Done Right
farcaller
1
320
iOS in Motion
farcaller
1
140
Reversing WTF
farcaller
2
120
Clang 3.0 Memory Management
farcaller
1
110
Effective Multithreading in iOS
farcaller
1
120
GameKit and Social APIs
farcaller
1
81
Other Decks in Programming
See All in Programming
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
420
「ブロックテーマでは再現できない」は本当か?
inc2734
0
920
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
180
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
640
Patterns of Patterns
denyspoltorak
0
1.4k
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
130
dchart: charts from deck markup
ajstarks
3
990
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.5k
Oxlintはいいぞ
yug1224
5
1.3k
2026年 エンジニアリング自己学習法
yumechi
0
130
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
940
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
50
14k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
Game over? The fight for quality and originality in the time of robots
wayneb77
1
110
The Curse of the Amulet
leimatthew05
1
8.4k
A Tale of Four Properties
chriscoyier
162
24k
The Cult of Friendly URLs
andyhume
79
6.8k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
430
Accessibility Awareness
sabderemane
0
51
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
110
Prompt Engineering for Job Search
mfonobong
0
160
Leo the Paperboy
mayatellez
4
1.4k
Being A Developer After 40
akosma
91
590k
Transcript
None
iOS TDD Vladimir “farcaller” Pouzanov
Как мы используем TDD для разработки
Как мы используем TDD для ускорения разработки
Как вам использовать TDD для ускорения разработки
Цикл TDD
Написать тест
Написать тест Написать реализацию
Написать тест Написать реализацию Смыть, повторить
Написать тест Написать реализацию Смыть, повторить
Общие проблемы
Вы тестируете не то, что необходимо
Вы тестируете не то, что необходимо, а то, к чему
получается написать тест
Вы тестируете не изолированный компонент
Вы тестируете не изолированный компонент, а часть общей схемы
Вы тестируете не чистое состояние объекта
Вы тестируете не чистое состояние объекта, а то, в котором
он хоть как-то работает
Кто виноват?
Неявная реализация MVC где-то между Model и Controller
Жесткое связывание
Синглтоны
Сетевой стек
Сложность интеграции OCUnit
Широкий набор сторонних фреймворков
Что делать?
Double-click to edit
Dependency Injection
Objection
Injective
Как тестируют в «лучшем» мире
Ruby
Rails
RSpec & Cucumber
Kiwi & Cucumber
UIAutomation + jasmine
Посмотрим?
Что дальше?
Рефакторинг!
Поиск мертвецов
Подчистка копипасты
Еще раз
Тестировать – хорошо и полезно
Dependency Injection упрощает создание тестового окружения
Тесты позволяют рефакторить безболезненно
Проверка покрытия намекает на то, что вы реально тестируете
Спасибо.
Вопросы? #iosdevcamp