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
Taming Chaotic Specs: RSpec Design Patterns
Search
Adam Cuppy (he/him)
April 25, 2014
Technology
3
340
Taming Chaotic Specs: RSpec Design Patterns
RailsConf 2014 Workshop on Rspec
Adam Cuppy (he/him)
April 25, 2014
Tweet
Share
More Decks by Adam Cuppy (he/him)
See All by Adam Cuppy (he/him)
Mentorship in Three Acts
acuppy
0
110
Mechanically Confident
acuppy
1
140
Pluck It - Southeast Ruby 2017
acuppy
1
130
Trust Me - Rocky Mountain Ruby 2017
acuppy
0
95
Brighton Ruby 2017 - Difficult Conversations
acuppy
1
76
GoRuCo 2017 - Difficult Conversations
acuppy
0
120
GORUCO - Cult(ure)
acuppy
0
81
#RailsPacific - Taming Chaotic Specs - RSpec Design Patterns
acuppy
5
1.1k
#RailsPacific - [NOTES] Taming Chaotic Specs - RSpec Design Patterns
acuppy
1
220
Other Decks in Technology
See All in Technology
Frontier Airlines Customer®️ USA Contact Numbers: Complete 2025 Support Guide
frontierairlineswithflyagent
0
110
新規事業におけるAIリサーチの活用例
ranxxx
0
130
機械学習を「社会実装」するということ 2025年夏版 / Social Implementation of Machine Learning July 2025 Version
moepy_stats
1
480
SAE J1939シミュレーション環境構築
daikiokazaki
0
120
そもそも AWS FIS について。なぜ今 FIS のハンズオンなのか?などなど
kazzpapa3
2
110
AWS Well-Architected から考えるオブザーバビリティの勘所 / Considering the Essentials of Observability from AWS Well-Architected
sms_tech
1
850
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
18k
The Madness of Multiple Gemini CLIs Developing Simultaneously with Jujutsu
gunta
1
2.4k
Expertise as a Service via MCP
yodakeisuke
1
140
P2P ではじめる WebRTC のつまづきどころ
tnoho
1
190
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
Shadow DOMとセキュリティ - 光と影の境界を探る / Shibuya.XSS techtalk #13
masatokinugawa
0
260
Featured
See All Featured
A designer walks into a library…
pauljervisheath
207
24k
Building Adaptive Systems
keathley
43
2.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Balancing Empowerment & Direction
lara
1
490
Building Applications with DynamoDB
mza
95
6.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Transcript
www.codingzeal.com @adamcuppy Adam Cuppy
October 22 - 25 Agile TDD Developers Training & Conference
RogueRails.com
Control values with! `let()`
Descriptive Naming
let(:user1) { … } let(:user2) { … }
it { expect(user1).to be_valid } it { expect(user2).to be_valid }
let(:user_with_company) { … } let(:user_without_company) { … }
it { expect(user_with_company).to be_valid } it { expect(user_without_company).to be_valid }
Start from a Minimum Valid Object
it { object.valid?.should_not be_true }
it { expect(object).not_to be_valid }
it { expect(object).to be_invalid }
Permutations! using `context`s
Extract Common Behaviors
Declarative Expectations
October 22 - 25 Agile TDD Developers Training & Conference
RogueRails.com
Thank You!