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
180
0
Share
Intro-spec-tion RubyConfAU 2016
A whirlwind tour of the internals of RSpec.
Jon Rowe
February 11, 2016
More Decks by Jon Rowe
See All by Jon Rowe
RSpec - Level Up
jonrowe
0
310
Learning From Other Languages - Immutability
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
def tdd_ios( hint: RubyMotion ) @ #SydInMotion
jonrowe
0
130
Tales Of Interest - RubyConfAU 2014
jonrowe
0
91
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
Agentic AI時代における メルカリのAIガバナンスとガードレール実装
naoichihara
16
17k
Anthropic AIネイティブ・スタートアップ構築のプレイブック を理解する
nagatsu
0
220
テストコードのないプロジェクトにテストを根付かせる
tttol
0
230
食べログのサーキットブレーカー導入を振り返って
atpons
1
150
データ分析基盤の信頼を支える視点と設計
yuki_saito
2
760
AIが変えた"品質の守り方"
kkakizaki
13
5.3k
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
390
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
520
Amazon CloudFrontにおけるAIボットアクセス制御のポイント
kizawa2020
5
310
Fabric-cicd によるAzure DevOps デプロイ
ryomaru0825
0
140
権限管理設計を完全に理解した
rsugi
2
240
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
170
Featured
See All Featured
Speed Design
sergeychernyshev
33
1.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
390
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
370
The Pragmatic Product Professional
lauravandoore
37
7.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Being A Developer After 40
akosma
91
590k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Balancing Empowerment & Direction
lara
6
1.1k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
560
Making the Leap to Tech Lead
cromwellryan
135
9.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