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
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
310
Learning From Other Languages - Immutability
jonrowe
0
170
Intro-spec-tion RubyConfAU 2016
jonrowe
0
180
RSpec + Rails Without rspec-rails @ RoRoSyd November 2015
jonrowe
1
260
RSpec 3 and why I `expect(you).to care`
jonrowe
3
640
Upgrading RSpec - RoRoSyd June 14
jonrowe
1
110
def tdd_ios( hint: RubyMotion ) @ #SydInMotion
jonrowe
0
130
Tales Of Interest - RubyConfAU 2014
jonrowe
0
84
RSpec... Your doing it wrong... RoRoSYD Lightning Talk October 2013
jonrowe
0
150
Other Decks in Programming
See All in Programming
How We Benchmarked Quarkus: Patterns and anti-patterns
hollycummins
1
120
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
0
100
10 Tips of AWS ~Gen AI on AWS~
licux
5
350
Exploring RuboCop with MCP
koic
0
430
アーキテクチャモダナイゼーションとは何か
nwiizo
17
5k
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
200
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
210
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
4
880
TiDBのアーキテクチャから学ぶ分散システム入門 〜MySQL互換のNewSQLは何を解決するのか〜 / tidb-architecture-study
dznbk
1
170
RSAが破られる前に知っておきたい 耐量子計算機暗号(PQC)入門 / Intro to PQC: Preparing for the Post-RSA Era
mackey0225
3
130
How Swift's Type System Guides AI Agents
koher
0
240
CDK Deployのための ”反響定位”
watany
4
720
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
320
Believing is Seeing
oripsolob
1
110
Between Models and Reality
mayunak
3
260
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
770
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
120
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
170
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
730
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
210
Joys of Absence: A Defence of Solitary Play
codingconduct
1
340
Designing for Timeless Needs
cassininazir
0
190
Done Done
chrislema
186
16k
For a Future-Friendly Web
brad_frost
183
10k
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