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 ) @ #SydInMotion
Search
Jon Rowe
April 15, 2014
Technology
0
130
def tdd_ios( hint: RubyMotion ) @ #SydInMotion
Brief testing lightning talk from April 2014's #sydinmotion.
Jon Rowe
April 15, 2014
Tweet
Share
More Decks by Jon Rowe
See All by Jon Rowe
RSpec - Level Up
jonrowe
0
280
Learning From Other Languages - Immutability
jonrowe
0
160
Intro-spec-tion RubyConfAU 2016
jonrowe
0
160
RSpec + Rails Without rspec-rails @ RoRoSyd November 2015
jonrowe
1
250
RSpec 3 and why I `expect(you).to care`
jonrowe
3
630
Upgrading RSpec - RoRoSyd June 14
jonrowe
1
96
Tales Of Interest - RubyConfAU 2014
jonrowe
0
74
RSpec... Your doing it wrong... RoRoSYD Lightning Talk October 2013
jonrowe
0
140
expect(RSpec::3).to be_coming_soon @Dius_AU September 2013
jonrowe
0
190
Other Decks in Technology
See All in Technology
AIエージェントを5分で一気におさらい!AIエージェント「構築」元年に備えよう
yakumo
1
140
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
21k
複雑さを受け入れるか、拒むか? - 事業成長とともに育ったモノリスを前に私が考えたこと #RSGT2026
murabayashi
1
1.3k
AIと融ける人間の冒険
pujisi
0
110
ECS_EKS以外の選択肢_ROSA入門_.pdf
masakiokuda
1
120
20251225_たのしい出張報告&IgniteRecap!
ponponmikankan
0
110
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
410
Qiita Bash アドカレ LT #1
okaru
0
170
1万人を変え日本を変える!!多層構造型ふりかえりの大規模組織変革 / 20260108 Kazuki Mori
shift_evolve
PRO
5
790
Next.js 16の新機能 Cache Components について
sutetotanuki
0
210
戰略轉變:從建構 AI 代理人到發展可擴展的技能生態系統
appleboy
0
180
Scrum Guide Expansion Pack が示す現代プロダクト開発への補完的視点
sonjin
0
410
Featured
See All Featured
Scaling GitHub
holman
464
140k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
115
100k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
780
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
27
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
41
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
110
Git: the NoSQL Database
bkeepers
PRO
432
66k
Side Projects
sachag
455
43k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Applied NLP in the Age of Generative AI
inesmontani
PRO
3
2k
Transcript
def tdd_ios( hint: RubyMotion) @JONROWE
@JONROWE
@JONROWE So don’t?
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
RubyMotion? Ruby Compiles Access to all the APIs
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
Bonus Code
None
None
See Also: https://github.com/JonRowe/locomotion