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
def tdd_ios( hint: RubyMotion )
Search
Jon Rowe
March 12, 2013
Programming
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
def tdd_ios( hint: RubyMotion )
Lightening talk about RubyMotion, iOS and testing. Presented at March RoRo Sydney meet.
Jon Rowe
March 12, 2013
More Decks by Jon Rowe
See All by Jon Rowe
RSpec - Level Up
jonrowe
0
330
Learning From Other Languages - Immutability
jonrowe
0
190
Intro-spec-tion RubyConfAU 2016
jonrowe
0
190
RSpec + Rails Without rspec-rails @ RoRoSyd November 2015
jonrowe
1
270
RSpec 3 and why I `expect(you).to care`
jonrowe
3
660
Upgrading RSpec - RoRoSyd June 14
jonrowe
1
120
def tdd_ios( hint: RubyMotion ) @ #SydInMotion
jonrowe
0
130
Tales Of Interest - RubyConfAU 2014
jonrowe
0
97
RSpec... Your doing it wrong... RoRoSYD Lightning Talk October 2013
jonrowe
0
160
Other Decks in Programming
See All in Programming
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
1
390
React本体のコードリーディング
high_g_engineer
1
160
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
240
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
190
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.8k
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
270
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
130
Introducing Stack Pull Request in GitHub
kkamegawa
0
110
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
240
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
570
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
430
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
240
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.3k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Building the Perfect Custom Keyboard
takai
2
850
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Side Projects
sachag
455
43k
Evolving SEO for Evolving Search Engines
ryanjones
0
270
Everyday Curiosity
cassininazir
0
300
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Designing Experiences People Love
moore
143
24k
Amusing Abliteration
ianozsvald
1
270
The Invisible Side of Design
smashingmag
301
52k
Transcript
def tdd_ios( hint: RubyMotion) @JONROWE
ObjectiveC
ObjectiveC TDD IS HARD!
ObjectiveC TDD IS HARD! (or just not popular)
PhoneGap?
PhoneGap? JS
PhoneGap? JS TDD’able
PhoneGap? JS TDD’able Sucks...
RubyMotion?
RubyMotion? Ruby
RubyMotion? Ruby Compiles
RubyMotion? Ruby Compiles Access to all the APIs
Has testing built in
Bacon
Bacon MacBacon
Bacon MacBacon Runs In Simulator
None
Unit Testing
Unit Testing Integration Testing
Unit Testing Integration Testing Acceptance Testing (limited)
Use Rubyisms
Use Rubyisms Stub web requests
Use Rubyisms Stub web requests Simulate device events
Felt Like Rails
Solution?
Pure Ruby Library
Pure Ruby Library RSpec / MiniTest
Pure Ruby Library RSpec / MiniTest Ruby 2.0.0
Caveats:
Caveats: Libs don’t always behave the same.
Caveats: Libs don’t always behave the same. (JSON)
Caveats:
Caveats: no require
Caveats: no require no metaprogramming
Caveats: no require no metaprogramming alloc / init vs initialize
end