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
350
3
Share
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
140
Mechanically Confident
acuppy
1
160
Pluck It - Southeast Ruby 2017
acuppy
1
140
Trust Me - Rocky Mountain Ruby 2017
acuppy
0
110
Brighton Ruby 2017 - Difficult Conversations
acuppy
1
93
GoRuCo 2017 - Difficult Conversations
acuppy
0
140
GORUCO - Cult(ure)
acuppy
0
99
#RailsPacific - Taming Chaotic Specs - RSpec Design Patterns
acuppy
5
1.1k
#RailsPacific - [NOTES] Taming Chaotic Specs - RSpec Design Patterns
acuppy
1
230
Other Decks in Technology
See All in Technology
【禁断】Obsidianの第二の脳に「知の巨人」と呼ばれた師匠の脳をロードしてみた
nagatsu
0
6.3k
CloudFront VPCオリジンとVPC Latticeサービスの内部ALBをマルチアカウントで一元利用しよう
duelist2020jp
5
220
権限管理設計を完全に理解した
rsugi
1
200
TSKaigi 2026 - Auth.jsからBetter Authへの 移行に見る「型とランタイム」の 設計思想の変化
teamlab
PRO
1
260
The Making of AI Chips
pfn
PRO
0
750
情シスがMCP環境導入時に打ちのめされる認可の崖
oidfj
0
440
AI時代に求められる思考のパラダイムシフト
nrinetcom
PRO
1
140
AIが変えた"品質の守り方"
kkakizaki
3
1.1k
その英語学習、AWSで代替できませんか?
suzutatsu
1
230
JavaScript実装の自作プログラミング言語をTypeScript実装に移行した話
keisukeikeda
1
150
データ基盤構築・運用の現場から 〜 Snowflake Intelligence 導入で変わった、データ活用の未来 〜
wonohe
0
170
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
1
120
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Navigating Team Friction
lara
192
16k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
54k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
270
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
44k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
180
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
460
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
140
Exploring anti-patterns in Rails
aemeredith
3
360
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
120
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
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!