Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
def tdd_ios( hint: RubyMotion ) @ #SydInMotion
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Jon Rowe
April 15, 2014
Technology
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
def tdd_ios( hint: RubyMotion ) @ #SydInMotion
Brief testing lightning talk from April 2014's #sydinmotion.
Jon Rowe
April 15, 2014
More Decks by Jon Rowe
See All by Jon Rowe
RSpec - Level Up
jonrowe
0
340
Learning From Other Languages - Immutability
jonrowe
0
200
Intro-spec-tion RubyConfAU 2016
jonrowe
0
190
RSpec + Rails Without rspec-rails @ RoRoSyd November 2015
jonrowe
1
280
RSpec 3 and why I `expect(you).to care`
jonrowe
3
660
Upgrading RSpec - RoRoSyd June 14
jonrowe
1
120
Tales Of Interest - RubyConfAU 2014
jonrowe
0
100
RSpec... Your doing it wrong... RoRoSYD Lightning Talk October 2013
jonrowe
0
170
expect(RSpec::3).to be_coming_soon @Dius_AU September 2013
jonrowe
0
230
Other Decks in Technology
See All in Technology
渡米前の準備を制す!re:Invent 2026徹底準備術 / The Ultimate Preparation Guide for re:Invent 2026
yuj1osm
1
470
Snowflake でできることが増えたら、 ABAC が必要になった
kaeton
0
130
ドメインエキスパートは いかにして AI を使って プロダクト開発をするか
tatsuyashiraishi
1
250
re:Invent の去年のスケジュールを公開します!
miu_crescent
PRO
0
140
バイブコーディングの特徴と「コケて直す」ループ
happysamurai294
0
140
バックオフィスに染み出すTypeScript ── clasp で安全に仕組みを作る
nealle
1
150
Adversary Infrastructure Hunting101
disconinja
0
180
アクセラレーターで実現するServiceNow活用の高速化 / ServiceNow World Forum 2026
visional_engineering_and_design
0
110
Flutter Webを「SDK」として配る — 50以上のゲームを支える埋め込みアーキテクチャ
masayukisuda
0
170
Don't write the architecture only in the prompt.
neohsu
0
290
構造で守らせる データ・法務・セキュリティ・開発チームとつくる AI時代のデータガバナンスとデータ基盤のリアル
legalontechnologies
PRO
3
710
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
0
6.4k
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Odyssey Design
rkendrick25
PRO
2
910
BBQ
matthewcrist
90
10k
A designer walks into a library…
pauljervisheath
211
25k
Everyday Curiosity
cassininazir
0
380
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
340
RailsConf 2023
tenderlove
30
1.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
380
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
470
Why Our Code Smells
bkeepers
PRO
340
58k
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