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
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
290
Learning From Other Languages - Immutability
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
100
def tdd_ios( hint: RubyMotion ) @ #SydInMotion
jonrowe
0
130
Tales Of Interest - RubyConfAU 2014
jonrowe
0
74
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
200
Other Decks in Technology
See All in Technology
使いにくいの壁を突破する
sansantech
PRO
1
110
Frontier Agents (Kiro autonomous agent / AWS Security Agent / AWS DevOps Agent) の紹介
msysh
3
140
データ民主化のための LLM 活用状況と課題紹介(IVRy の場合)
wxyzzz
2
660
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.5k
データの整合性を保ちたいだけなんだ
shoheimitani
7
2.9k
Meshy Proプラン課金した
henjin0
0
240
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
220
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
4
4.8k
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
130
なぜ今、コスト最適化(倹約)が必要なのか? ~AWSでのコスト最適化の進め方「目的編」~
htan
1
110
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
64
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
97
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
120
Side Projects
sachag
455
43k
Prompt Engineering for Job Search
mfonobong
0
160
Scaling GitHub
holman
464
140k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
160
A Soul's Torment
seathinner
5
2.2k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
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