Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
360
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Taming Chaotic Specs: RSpec Design Patterns
RailsConf 2014 Workshop on Rspec
Adam Cuppy (he/him)
April 25, 2014
More Decks by Adam Cuppy (he/him)
See All by Adam Cuppy (he/him)
Mentorship in Three Acts
acuppy
0
150
Mechanically Confident
acuppy
1
180
Pluck It - Southeast Ruby 2017
acuppy
1
150
Trust Me - Rocky Mountain Ruby 2017
acuppy
0
130
Brighton Ruby 2017 - Difficult Conversations
acuppy
1
110
GoRuCo 2017 - Difficult Conversations
acuppy
0
150
GORUCO - Cult(ure)
acuppy
0
120
#RailsPacific - Taming Chaotic Specs - RSpec Design Patterns
acuppy
5
1.1k
#RailsPacific - [NOTES] Taming Chaotic Specs - RSpec Design Patterns
acuppy
1
250
Other Decks in Technology
See All in Technology
調査タスクをAIと乗り切る 〜過去の調査をナレッジ化し 調査手順をスキルにする〜
mot_techtalk
1
120
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
150
3つのアプローチで目指す チームを強くするAI駆動開発
thkt
0
120
プロダクト価値を、 チームが使える判断軸に変える
vivion
0
130
スキルを作る、その前に!複数人で使われるスキルを 作るためのプロセス
junkifurukawa
2
340
React Nativeでの OTA Updateって、 どう説明する?
ichiki1023
0
150
Kernel testing frameworks
ennael
PRO
0
110
自分で立ててみるLLMサービス
y_sera15
0
120
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
480
Incremental HTTP
kazuho
5
2.1k
[2026 Oracle Technical Deep Dive] VMwareワークロードのOCI移行実践ガイド - OCVSでの継続利用からOCIコンピュートへの移行まで (2026年9月17日開催)
oracle4engineer
PRO
0
130
Datadog の学び方 - あるいは、オブザーバビリティを学ぶとは何か
mananyuki
1
490
Featured
See All Featured
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
260
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
300
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
720
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
840
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
400
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
550
For a Future-Friendly Web
brad_frost
183
10k
Automating Front-end Workflow
addyosmani
1369
210k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Unsuck your backbone
ammeep
672
58k
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!