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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Jon Rowe
February 11, 2016
Technology
0
170
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
300
Learning From Other Languages - Immutability
jonrowe
0
170
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
100
def tdd_ios( hint: RubyMotion ) @ #SydInMotion
jonrowe
0
130
Tales Of Interest - RubyConfAU 2014
jonrowe
0
81
RSpec... Your doing it wrong... RoRoSYD Lightning Talk October 2013
jonrowe
0
150
expect(RSpec::3).to be_coming_soon @Dius_AU September 2013
jonrowe
0
200
Other Decks in Technology
See All in Technology
GitHub Copilot CLI で Azure Portal to Bicep
tsubakimoto_s
0
290
RGBに陥らないために -プロダクトの価値を届けるまで-
righttouch
PRO
0
130
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
130
JAWS DAYS 2026でAIの「もやっと」感が解消された話
smt7174
1
110
Cursor Subagentsはいいぞ
yug1224
2
120
Kiro Meetup #7 Kiro アップデート (2025/12/15〜2026/3/20)
katzueno
2
270
「AIエージェントで変わる開発プロセス―レビューボトルネックからの脱却」
lycorptech_jp
PRO
0
190
やさしいとこから始めるGitHubリポジトリのセキュリティ
tsubakimoto_s
3
2k
PostgreSQL 18のNOT ENFORCEDな制約とDEFERRABLEの関係
yahonda
0
150
20260323_データ分析基盤でGeminiを使う話
1210yuichi0
0
200
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
150
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
240
Bash Introduction
62gerente
615
210k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
500
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
300
What's in a price? How to price your products and services
michaelherold
247
13k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
260
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
170
Mind Mapping
helmedeiros
PRO
1
140
Test your architecture with Archunit
thirion
1
2.2k
New Earth Scene 8
popppiees
2
1.9k
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