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
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
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
210
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.5k
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
180
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
170
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
460
M&A 後の統合をどう進めるか ─ ナレッジワーク × Poetics が実践した組織とシステムの融合
kworkdev
PRO
1
470
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
310
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
260
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
240
Cosmos World Foundation Model Platform for Physical AI
takmin
0
930
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
Git: the NoSQL Database
bkeepers
PRO
432
66k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Code Reviewing Like a Champion
maltzj
527
40k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
280
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
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!