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
モノレポにおけるエラー管理 ~Runbook自動生成とチームメンションの最適化
biwashi
0
340
AWSの最新サービスでAIエージェント構築に楽しく入門しよう
minorun365
PRO
8
410
データモデリング通り #2オンライン勉強会 ~方法論の話をしよう~
datayokocho
0
190
家族の思い出を形にする 〜 1秒動画の生成を支えるインフラアーキテクチャ
ojima_h
3
1.3k
Amazon Q と『音楽』-ゲーム音楽もAmazonQで作成してみた感想-
senseofunity129
0
170
Amazon Q Developerを活用したアーキテクチャのリファクタリング
k1nakayama
2
220
Amazon Qで2Dゲームを作成してみた
siromi
0
160
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
1
210
LLM 機能を支える Langfuse / ClickHouse のサーバレス化
yuu26
9
2.6k
文字列の並び順 / String Collation
tmtms
1
110
プロジェクトマネジメントは不確実性との対話だ
hisashiwatanabe
0
130
20250807 Applied Engineer Open House
sakana_ai
PRO
2
580
Featured
See All Featured
The Language of Interfaces
destraynor
159
25k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
We Have a Design System, Now What?
morganepeng
53
7.7k
Building Applications with DynamoDB
mza
96
6.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
Balancing Empowerment & Direction
lara
2
570
Faster Mobile Websites
deanohume
309
31k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Adopting Sorbet at Scale
ufuk
77
9.5k
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