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
Intro-spec-tion RubyConfAU 2016
Search
Jon Rowe
February 11, 2016
Technology
0
160
Intro-spec-tion RubyConfAU 2016
A whirlwind tour of the internals of RSpec.
Jon Rowe
February 11, 2016
Tweet
Share
More Decks by Jon Rowe
See All by Jon Rowe
RSpec - Level Up
jonrowe
0
240
Learning From Other Languages - Immutability
jonrowe
0
140
RSpec + Rails Without rspec-rails @ RoRoSyd November 2015
jonrowe
1
230
RSpec 3 and why I `expect(you).to care`
jonrowe
3
590
Upgrading RSpec - RoRoSyd June 14
jonrowe
1
85
def tdd_ios( hint: RubyMotion ) @ #SydInMotion
jonrowe
0
120
Tales Of Interest - RubyConfAU 2014
jonrowe
0
60
RSpec... Your doing it wrong... RoRoSYD Lightning Talk October 2013
jonrowe
0
130
expect(RSpec::3).to be_coming_soon @Dius_AU September 2013
jonrowe
0
170
Other Decks in Technology
See All in Technology
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
170
Lexical Analysis
shigashiyama
1
150
フルカイテン株式会社 採用資料
fullkaiten
0
40k
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.3k
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
870
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
360
元旅行会社の情シス部員が教えるおすすめなre:Inventへの行き方 / What is the most efficient way to re:Invent
naospon
2
330
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
220
Evangelismo técnico: ¿qué, cómo y por qué?
trishagee
0
350
TypeScript、上達の瞬間
sadnessojisan
46
13k
Featured
See All Featured
Navigating Team Friction
lara
183
14k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Documentation Writing (for coders)
carmenintech
65
4.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Agile that works and the tools we love
rasmusluckow
327
21k
YesSQL, Process and Tooling at Scale
rocio
169
14k
The Language of Interfaces
destraynor
154
24k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Scaling GitHub
holman
458
140k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Transcript
Intro-spec-tion @JonRowe
WHAT IS RSPEC?
<test-unit>
<rspec>
BUT WHAT *IS* RSPEC?
None
CORE MOCKS EXPECTATIONS
CORE MOCKS EXPECTATIONS
CORE MOCKS EXPECTATIONS
CORE MOCKS EXPECTATIONS
CORE MOCKS EXPECTATIONS
CORE
CORE SHOULDA
None
EXPECTATIONS TestUnit
None
EXPECTATIONS TestUnit MOCKS
ETC ETC ETC…
None
BUT WHAT *IS* RSPEC?
ANATOMY OF A SPEC
<rspec>
<core only>
<core only> Example Group
<core only> Instance Methods
<core only> Hooks
<core only> Example
None
None
RSPEC CORE
THE WORLD
CONFIGURATION
THE REPORTER
THE RUNNER
WAIT… EXAMPLE GROUPS…
Runner ExampleGroup Example #<ExampleGroup> before(:suite) before(:group) before(:each)
<rabbit hole>
Runner ExampleGroup Example #<ExampleGroup> after(:suite) after(:group) after(:each)
<blue pill>
<heirarchy>
BUT WHY
JUST RUBY
<include>
<include>
<include>
RSPEC EXPECTATIONS
<core only>
<rspec>
<target>
<matcher>
<protocol>
<DSL>
<class>
<class>
RSPEC MOCKS
<mocks>
<mocks>
<mocks>
SO HOW DOES IT WORK?
<protocol>
RSPEC RAILS
None
None
None
after(:talk)
Thanks @JonRowe