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
150
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
210
Learning From Other Languages - Immutability
jonrowe
0
130
RSpec + Rails Without rspec-rails @ RoRoSyd November 2015
jonrowe
1
220
RSpec 3 and why I `expect(you).to care`
jonrowe
3
540
Upgrading RSpec - RoRoSyd June 14
jonrowe
1
85
def tdd_ios( hint: RubyMotion ) @ #SydInMotion
jonrowe
0
110
Tales Of Interest - RubyConfAU 2014
jonrowe
0
55
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
150
Other Decks in Technology
See All in Technology
今年のRubyKaigiはProfiler Year🤘
osyoyu
0
220
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
4
16k
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
310
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
680
Babylon.jsと色々なものを組み合わせる:ブラウザのAPIやガジェットや2D描画ライブラリなど / Babylon.js 勉強会 vol.3
you
PRO
0
140
Building Dashboards as a Hobby
egmc
0
330
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
320
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
1
570
.NET Profiler in 2024.
kkamegawa
2
590
Cypress or Playwright?
rainerhahnekamp
0
150
EM完全に理解した と思ったけど、 やっぱり何も分からなかった話 / EM Night Fukuoka #1
hirutas
0
130
リテール金融(キャッシュレス・ネット銀行・ネット証券)の競争環境と経済圏
8maki
0
1.4k
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
20
1.7k
How to train your dragon (web standard)
notwaldorf
74
5.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
12
8.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
46k
Testing 201, or: Great Expectations
jmmastey
29
6.4k
Bash Introduction
62gerente
605
210k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
117
18k
Building Effective Engineering Teams - LeadDev
addyosmani
30
1.9k
The Cost Of JavaScript in 2023
addyosmani
18
3.9k
Designing for humans not robots
tammielis
248
25k
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