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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Adam Cuppy (he/him)
April 25, 2014
Technology
3
350
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
120
Mechanically Confident
acuppy
1
160
Pluck It - Southeast Ruby 2017
acuppy
1
140
Trust Me - Rocky Mountain Ruby 2017
acuppy
0
98
Brighton Ruby 2017 - Difficult Conversations
acuppy
1
85
GoRuCo 2017 - Difficult Conversations
acuppy
0
130
GORUCO - Cult(ure)
acuppy
0
92
#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
プロポーザルに込める段取り八分
shoheimitani
1
470
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
260
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
220
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
320
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
650
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
320
Red Hat OpenStack Services on OpenShift
tamemiya
0
120
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
配列に見る bash と zsh の違い
kazzpapa3
3
160
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
310
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.3k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
280
Unsuck your backbone
ammeep
671
58k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
210
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
94
AI: The stuff that nobody shows you
jnunemaker
PRO
2
260
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Docker and Python
trallard
47
3.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Writing Fast Ruby
sferik
630
62k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
37k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
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!