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
330
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
99
Mechanically Confident
acuppy
1
130
Pluck It - Southeast Ruby 2017
acuppy
1
120
Trust Me - Rocky Mountain Ruby 2017
acuppy
0
91
Brighton Ruby 2017 - Difficult Conversations
acuppy
1
68
GoRuCo 2017 - Difficult Conversations
acuppy
0
110
GORUCO - Cult(ure)
acuppy
0
74
#RailsPacific - Taming Chaotic Specs - RSpec Design Patterns
acuppy
5
1k
#RailsPacific - [NOTES] Taming Chaotic Specs - RSpec Design Patterns
acuppy
1
200
Other Decks in Technology
See All in Technology
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
990
TypeScript、上達の瞬間
sadnessojisan
48
14k
【LT】ソフトウェア産業は進化しているのか? #Agilejapan
takabow
0
110
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
1
220
組織成長を加速させるオンボーディングの取り組み
sudoakiy
3
280
Next.jsとNuxtが混在? iframeでなんとかする!
ypresto
2
660
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
日経電子版のStoreKit2フルリニューアル
shimastripe
1
150
Zennのパフォーマンスモニタリングでやっていること
ryosukeigarashi
0
530
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
230
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
GitHub's CSS Performance
jonrohan
1030
460k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
140
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Teambox: Starting and Learning
jrom
133
8.8k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
110
49k
Fireside Chat
paigeccino
34
3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Building Your Own Lightsaber
phodgson
103
6.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!