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
RSpec 勉強会
Search
Tnishikori
August 08, 2017
Technology
0
87
RSpec 勉強会
Tnishikori
August 08, 2017
Tweet
Share
More Decks by Tnishikori
See All by Tnishikori
Apache Sparkやってみたところ
tatsunori_nishikori
0
3k
Other Decks in Technology
See All in Technology
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.6k
AI駆動開発に向けた新しいエンジニアマインドセット
kazue
0
340
エラーとアクセシビリティ
schktjm
1
1.2k
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.2k
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
260
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.3k
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.5k
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
220
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
150
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
4
350
La gouvernance territoriale des données grâce à la plateforme Terreze
bluehats
0
150
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
150
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
Statistics for Hackers
jakevdp
799
220k
Six Lessons from altMBA
skipperchong
28
4k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
111
20k
Speed Design
sergeychernyshev
32
1.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Transcript
3 4 1 & $ ษ ڧ ձ 1
* O E F Y Y6OJUPSY4QFD 34QFDͷ֓ཁ 34QFD֦ு 'BDUPSZ(JSMͷ֓ཁ
ࢀߟจݙ 2
Y 6 O J U P S
Y 4 Q F D 3
Y 6 O J U ܥ ͱ Y 4 Q
F D ܥ 4 xUnit xSpec ίϯηϓτ ςετͷظΛಘΔ ͦͷػೳͷৼΔ͍Ͳ͏Ώ͏ ͷ͔ ॻ͖ํ ؔɺϝιουͷΑ͏ͳॻ͖ ํ %4-Λ࠾༻͍ͯ͠Δ͜ͱ͕ଟ͍ ֶशίετ ͍ ߴ͍ Մಡੑ ಡΈͮΒ͍ ಡΈ͍͢
ॻ ͖ ํ ͷ ҧ ͍ lGJ[[zΛฦ͢ϝιουͱzCV[[zΛฦ͢ϝιουΛ࣋ͭ 'J[[#V[[Ϋϥεͷྫ 5
' J Y U V S F T ͱ '
B D U P S Z ( J S M 'JYUVSFT ZNMϑΝΠϧʹϨίʔυͮͭॻ͘ 'BDUPSZ(JSMʹൺΔͱ࣮ߦૣ͍ 7BMJEBUJPO௨Βͳ͍ ΧϥϜ͕૿͑Δͱશ෦ͷϨίʔυΛॻ͖͕͠ൃੜ 'BDUPSZ(JSM ιʔείʔυʹςετσʔλΛهࡌ 7BMJEBUJPO͕௨Δ ֶशίετ͕ߴ͍ ຖճ7BMJEBUJPOΛ௨͢ͱ͍ 6
3 4 Q F D ͷ ֓ ཁ 7
3 4 Q F D ͱ ϓϩάϥϜͷৼΔ͍ #FIBWJPVS Λهड़͢ΔͨΊͷ%4-Λ
ఏڙ͢ΔϑϨʔϜϫʔΫ ϓϩάϥϜΛॻ͘લʹৼΔ͍Λॻ͘#%% ৼۦಈ։ ൃ Λڧ͘ҙࣝ #%%ͷతɺͦͷιϑτΣΞ͕ΘΕΔঢ়گΛઆ໌͢ ΔͨΊͷݴޠΛ୯७Խ͢Δ͜ͱͰίϛϡχέʔγϣϯΛޙ ԡ͢͠Δ͜ͱ 8 Given When Then
ج ຊ త ͳ ͍ ํ ϑΝΠϧ໊ @TQFDSC TQFDҎԼʹςετίʔυΛՃ͍ͯ͘͠
STQFDϑΝΠϧ໊Ͱ࣮ߦ DPWBSBJMTͱΈ߹ΘͤΔͱΧόϨοδΛදࣔ͢Δ͜ͱ Ͱ͖Δ STQFDϑΝΠϧʹSTQFDίϚϯυͷΦϓγϣϯΛॻ͍͓ͯ͘ ͜ͱग़དྷΔ 9
3 4 Q F D ͷ ॻ ࣜ EFTDSJCFςετͷରɺઆ໌ Ϋϥε໊ɺϝιου໊Λهࡌ͢Δͱ(PPE
DPOUFYUςετͷ݅ dͷ߹ɺdͰ͋Δ࣌ JU FYBNQMF ςετͷ༰ɺظ dͰ͋Δࣄ FYQFDUରͷධՁΛ͢Δ TLJQରͷςετΛεΩοϓ͢Δ 10
M F U ςετͷ෦Ͱ༻Ͱ͖ΔมɺؔతͳΠϝʔδ MFUϒϩοΫ\^Ͱهࡌ EFTDSJCF DPOUFYUͰఆٛ͠ɺJUͰݺͼग़͕͠Մೳ MFUԆධՁͰMFUଈ࠲ʹධՁ ໎ͬͨͱ͖MFUʹ͓ͯ͘͠ͱ҆શ 11
ಉ ͡ ς ε τ Λ ά ϧ ʔ ϐ
ϯ ά TIBSFE@FYBNQMFT@GPSͰςετίʔυΛάϧʔϐϯά ɺ JU@CFIBWFT@MJLFͰάϧʔϓΛݺͼग़͠ DPOUFYUͷάϧʔϐϯάTIBSFE@DPOUFYUͱJODMVEF@DPOUFYU Λ͏ 12
M F U ά ϧ ʔ ϐ ϯ
ά 4 B N Q M F 13 άϧʔϐϯάΛߦ͏લ άϧʔϐϯάޙ
ς ε τ ͷ લ ॲ ཧ ͱ ޙ ॲ
ཧ CFGPSFͰલॲཧɺBGUFSͰޙॲཧ TVJUFશςετͷ࣮ߦલޙʹҰճ BMM֤ϒϩοΫ DPOUFYUEFTDSJCF ͷલޙ FBDIશͯͷJUϒϩοΫͷલޙ 14
Α ͘ ͏ ຣ ʔ N B U
D I F S OPU@ UPFRՁ͔Ͳ͏͔ UPCF CF@FNQUZΦϒδΣΫτ͕ۭͰ͋Δ͔ CF ccc ΦϒδΣΫτʹରͯ͠ͷൺֱ CF@OJMΦϒδΣΫτ͕OJM͔Ͳ͏͔ UPJODMVEFྻʹσʔλ͕͋Δ͔ 15
3 4 Q F D ֦ ு 16
3 4 Q F D ͱ Έ ߹ Θ
ͤ Δ ͱ ศ ར STQFDSBJMT 4FMFOJVN 1PMUFSHFJTU $BQZCBSB 17
3 4 Q F D 3 B J M
T DPOUSPMMFS UZQFDPOUSPMMFS HFUQPTUQVUEFMFUFΞΫγϣϯ໊ ύϥϝʔλ SFRVFTU UZQFSFRVFTU HFUQPTUQVUEFMFUF63- ύϥϝʔλ WJFX UZQFWJFX SFOEFSͰWJFXϨϯμϦϯά SFOEFSFEͰϨϯμϦϯάͨ͠WJFXऔಘ BTTFSU@TFMFDUΤϨϝϯτIUNMଐੑʹର͢ΔΞαʔγϣϯ 18
' B D U P S Z ( J S
M ͷ ֓ ཁ 19
' B D U P S Z ( J S
M ʹ ͭ ͍ ͯ ΦϒδΣΫτ͔Βఆٛͨ͠σʔλΛੜͯ͘͠ΕΔ ςετσʔλೖʹΘΕΔ ιʔείʔυͰςετσʔλΛఆٛ͢Δ 20
' B D U P S Z ( J S
M ͷ ఆ ٛ 21
ε τ ϥ ς δ ʔ DSFBUFςετσʔλΛ࡞͢Δ CVJMEςετΫϥεͷ7BMJEBUJPOΛߦͬͨޙͷΠϯελϯ εΛੜͯ͠ฦ͢ TUVC7BMJEBUJPOߦΘͣɺΠϯελϯεੜͷΈ
@MJTUҰׅʹ্هͷετϥςδʔΛ࣮ߦ͢Δ 22
% 4 - USBJUෳͷଐੑΛάϧʔϓԽ͠ɺGBDUPSZʹద༻ग़དྷΔ USBOTJFOUҰ࣌తͳมɺBUUSJCVUFΛఆٛͰ͖ΔɻUSBJU ʹωετ͢Δ͜ͱՄೳ TFRVFODFT࿈൪Λੜ DBMMCBDLTCFGPSF BGUFS CFGPSF
DSFBUF CFGPSF TUVC CFGPSF CVJME BGUFS DSFBUF BGUFS TUVC BGUFS CVJME 23
24
ࢀ ߟ จ ݙ 25
ࢀ ߟ จ ݙ ͑Δ34QFDೖɾͦͷ IUUQRJJUBDPNKODIJUPJUFNTECED STQFDΨΠυϥΠϯ IUUQCFUUFSTQFDTPSHKQ 34QFDͷ EFTDSJCFDPOUFYUFYBNQMFJU
ͷ͍͚ IUUQRJJUBDPNVDIJLPJUFNTEDEGG .JOJUFTUͱ3TQFDɺ'JYUVSFTͱ'JDUPSZ(JSMͷൺֱ IUUQCMPHKOJUPDPNFOUSZ 26