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
93
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RSpec 勉強会
Tnishikori
August 08, 2017
More Decks by Tnishikori
See All by Tnishikori
Apache Sparkやってみたところ
tatsunori_nishikori
0
3k
Other Decks in Technology
See All in Technology
人とエージェントが高め合う協業設計
kintotechdev
0
740
インシデント事例と パッケージの全量解析に学ぶ ソフトウェアサプライチェーンの守り方 / supply-chain-attack-defense
flatt_security
0
880
AIが当たり前の組織で エンジニアはどう育つか
nishihira
1
950
発表と総括 / Presentations and Summary
ks91
PRO
0
190
41歳でAWSが好きすぎてITエンジニアになったおっさんの話
yama3133
1
730
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.5k
データと地図で読む 大井町の「かわるもの、かわらないもの」
yoshiyama_hana
0
110
変更し続けられるシステムをどう保つか — AI時代のSSoTという設計原則
kawauso
1
1k
そのドキュメント、自動化しませんか?
yuksew
1
410
事業成長とAI活用を止めないデータ基盤アーキテクチャの設計思想
hiracky16
0
460
SRENEXT_2026_Chairs__Talks_in_Tamachi.sre.pdf
srenext
1
140
AI時代のPlaywright活用(システムテストを自動化する ー 実行エンジンにPla ywrightを選んだ理由)
ynisqa1988
2
930
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Become a Pro
speakerdeck
PRO
31
6k
A better future with KSS
kneath
240
18k
Darren the Foodie - Storyboard
khoart
PRO
3
3.5k
Building an army of robots
kneath
306
46k
The Language of Interfaces
destraynor
162
27k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
620
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
500
Faster Mobile Websites
deanohume
310
32k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
250
How STYLIGHT went responsive
nonsquared
100
6.2k
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