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 )
Search
Jon Rowe
March 12, 2013
Programming
170
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
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
def tdd_ios( hint: RubyMotion ) @ #SydInMotion
jonrowe
0
140
Tales Of Interest - RubyConfAU 2014
jonrowe
0
100
RSpec... Your doing it wrong... RoRoSYD Lightning Talk October 2013
jonrowe
0
170
Other Decks in Programming
See All in Programming
残高管理から台帳サービスへの進化
artoy
1
200
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
1k
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.9k
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
4
3.5k
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2k
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
130
AmebaブログはKMPから卒業します
kmars0605
0
180
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
220
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
290
Featured
See All Featured
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
How STYLIGHT went responsive
nonsquared
100
6.3k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
750
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
67k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
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