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
84
RSpec 勉強会
Tnishikori
August 08, 2017
Tweet
Share
More Decks by Tnishikori
See All by Tnishikori
Apache Sparkやってみたところ
tatsunori_nishikori
0
2.9k
Other Decks in Technology
See All in Technology
現実的なCompose化戦略 ~既存リスト画面の置き換え~
sansantech
PRO
0
160
地方企業がクラウドを活用するヒント
miu_crescent
PRO
1
110
ChatGPTを使ったブログ執筆と校正の実践テクニック/登壇資料(井田 献一朗)
hacobu
1
160
アクセシブルなマークアップの上に成り立つユーザーファーストなドロップダウンメニューの実装 / 20250127_cloudsign_User1st_FE
bengo4com
2
1.2k
Redmineの意外と知らない便利機能 (Redmine 6.0対応版)
vividtone
0
190
srekaigi2025-hajimete-ippo-aws
masakichieng
0
240
CNAPPから考えるAWSガバナンスの実践と最適化
nrinetcom
PRO
1
330
AIエージェントについてまとめてみた
pharma_x_tech
9
5.8k
Site Reliability Engineering on Kubernetes
nwiizo
6
4.4k
Platform EngineeringがあればSREはいらない!? 新時代のSREに求められる役割とは
mshibuya
2
4k
RevOpsへ至る道 データ活用による事業革新への挑戦 / path-to-revops
pei0804
3
800
あなたはJVMの気持ちを理解できるか?
skrb
5
2k
Featured
See All Featured
The Invisible Side of Design
smashingmag
299
50k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
3k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Docker and Python
trallard
43
3.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
How to train your dragon (web standard)
notwaldorf
89
5.8k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
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