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 ) @ #SydInMotion
Search
Jon Rowe
April 15, 2014
Technology
130
0
Share
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
310
Learning From Other Languages - Immutability
jonrowe
0
180
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
650
Upgrading RSpec - RoRoSyd June 14
jonrowe
1
110
Tales Of Interest - RubyConfAU 2014
jonrowe
0
88
RSpec... Your doing it wrong... RoRoSYD Lightning Talk October 2013
jonrowe
0
160
expect(RSpec::3).to be_coming_soon @Dius_AU September 2013
jonrowe
0
210
Other Decks in Technology
See All in Technology
EMから幅を広げるために最近挑戦していること / Recent challenges I'm undertaking to expand my horizons beyond EM
hiro_torii
1
180
要件定義の精度を高めるための型と生成AIの活用 / Using Types and Generative AI to Improve the Accuracy of Requirements Definition
haru860
0
310
Building a Study Buddy AI Agent from Scratch: From Passive Chatbots to Autonomous Systems
itchimonji
0
140
生成AIが変える SaaS の競争原理と弁護士ドットコムのプロダクト戦略
bengo4com
1
3.6k
AIが盛んな時代に 技術記事を書き始めて起きた私の中での小さな変化
peintangos
0
360
SLI/SLO、「完全に理解した」から「チョットデキル」へ
maruloop
1
130
GKE Agent SandboxでAIが生成したコードを 安全に実行してみた
lamaglama39
0
210
サンプリングは「作る」のか「使う」のか? 分散トレースのコストと運用を両立する実践的戦略 / Why you need the tail sampling and why you don't want it
ymotongpoo
3
130
QAエンジニアはどうやって プロダクト議論の場に入れるのか?
moritamasami
2
410
色を視る
yuzneri
0
320
大学職員のための生成AI最前線 :最前線を、AIガバナンスとして読み直すためのTips
gmoriki
2
3.8k
Databricks Academic Series 〜 大規模言語モデル / エージェント編 〜 / academic-series-llm
databricksjapan
0
110
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
560
Darren the Foodie - Storyboard
khoart
PRO
3
3.3k
We Are The Robots
honzajavorek
0
220
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
120
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
510
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
240
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
How to Talk to Developers About Accessibility
jct
2
190
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
300
30 Presentation Tips
portentint
PRO
1
290
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