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
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
330
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
270
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
99
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
220
Other Decks in Technology
See All in Technology
Meet AgentCore Identity Consent Portal
hironobuiga
3
160
ログラスのマルチプロダクトを 支える認証基盤 〜テナントごとに異なる統制とどう向き合うか〜
dada4386
3
330
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
2
300
1人アドミンな私はAWSアカウント申請をSlackで完結したい!
ysuzuki
0
110
行動するAIのためのオントロジー | DevRev — Encraft #26.pdf
dvrv_tknrszk
2
670
spanner-autoscalerに学ぶ CRD設計パターン 〜自動化と緊急時対応を両立する Kubernetesコントローラーの作り方〜
tkuchiki
0
220
顧客の成果創出とプロダクトの成長を 両立するためのFDE
sansantech
PRO
0
620
10年欲しかった音楽管理アプリを、AIと一緒に作りはじめた
judau
1
200
KanaAI
shreyas1009
0
140
生成AIを使って「人が」考える技術 ― AI時代の人機共想と実践ノウハウ|UNITT AC2026
ishiirikie
0
520
SQL Server 2025 最適化されたロック
odashinsuke
0
120
AI臭い文章とは何なのか
nasuvitz
38
77k
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.5k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
430
Statistics for Hackers
jakevdp
799
230k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
470
WENDY [Excerpt]
tessaabrams
14
40k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
380
Believing is Seeing
oripsolob
1
240
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
550
エンジニアに許された特別な時間の終わり
watany
109
250k
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