$30 off During Our Annual Pro Sale. View Details »
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
270
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
92
Tales Of Interest - RubyConfAU 2014
jonrowe
0
73
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
形式手法特論:CEGAR を用いたモデル検査の状態空間削減 #kernelvm / Kernel VM Study Hokuriku Part 8
ytaka23
2
460
AWS Trainium3 をちょっと身近に感じたい
bigmuramura
1
140
Snowflakeでデータ基盤を もう一度作り直すなら / rebuilding-data-platform-with-snowflake
pei0804
5
1.5k
Ruby で作る大規模イベントネットワーク構築・運用支援システム TTDB
taketo1113
1
290
Database イノベーショントークを振り返る/reinvent-2025-database-innovation-talk-recap
emiki
0
150
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
210
MapKitとオープンデータで実現する地図情報の拡張と可視化
zozotech
PRO
1
140
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
120
ChatGPTで論⽂は読めるのか
spatial_ai_network
9
28k
ログ管理の新たな可能性?CloudWatchの新機能をご紹介
ikumi_ono
1
700
Edge AI Performance on Zephyr Pico vs. Pico 2
iotengineer22
0
150
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
370
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
The Cult of Friendly URLs
andyhume
79
6.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
GraphQLとの向き合い方2022年版
quramy
50
14k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
The Invisible Side of Design
smashingmag
302
51k
Facilitating Awesome Meetings
lara
57
6.7k
Raft: Consensus for Rubyists
vanstee
141
7.2k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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