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
Test Driven Development For Lambda
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
堀家隆宏
August 09, 2017
Technology
400
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Test Driven Development For Lambda
堀家隆宏
August 09, 2017
More Decks by 堀家隆宏
See All by 堀家隆宏
オープンソースコミュニティで加速するサーバーレスの未来/serverless will be
horike37
4
780
auth0-meetup.pdf
horike37
1
290
What’s happening with Serverless Framework, and it lives with AWS SAM.
horike37
0
140
What is Serverless. Why is Serverless.
horike37
1
130
aws-with-functional-saas
horike37
2
220
serverless-with-oss
horike37
0
180
slsconftokyo
horike37
0
5.9k
slsconfworkshop
horike37
3
3k
serverless-kyoto
horike37
1
190
Other Decks in Technology
See All in Technology
iAEONの段階的リアーキテクト戦略 / iAEON's_Gradual_Re-architecture_Strategy
aeonpeople
0
230
2026年6月23日 Syncable Tech + Start Python Club にて
hamukazu
0
140
AWS Security Agent といっしょに脅威モデリングをやってみよう
amarelo_n24
1
180
攻撃者視点で考えるDetection Engineering
cryptopeg
3
2k
アジャイルな経理と Claude Code と経営の未来
kawaguti
PRO
3
160
自宅LLMの話
jacopen
1
650
新しいUbuntu/GNOMEが使いたいからXからWaylandへ移行頑張ってるの巻 2026-06-20
nobutomurata
0
150
不要なレビューをAIにまかせて AIコーディングの環境改善を加速した
shoota
1
230
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
LayerXにおけるセキュリティ管理の現在地と次の一手
tosho
0
240
【NRUG vol.18】KubernetesにおけるNew Relicデータ取得量削減の考え方
nrug_member
0
170
脱SaaS!FDEを支えるプロビジョニングと分離設計
knih
0
240
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
950
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
160
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
850
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
The Spectacular Lies of Maps
axbom
PRO
1
820
Balancing Empowerment & Direction
lara
6
1.2k
WENDY [Excerpt]
tessaabrams
11
38k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
270
4 Signs Your Business is Dying
shpigford
187
22k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
180
Transcript
5FTU%SJWFO%FWFMPQNFOU 'PS-BNCEB
ࣗݾհ w %JHJUBM$VCF$P-UE w 4FSWFSMFTT'SBNFXPSL$PSF$POUSJCVUPSBOE QMVHJOEFWFMPQFS w 4FSWFSMFTT'SBNFXPSLຊޠϑΥʔϥϜཧऀ IUUQTHJUIVCDPNTFSWFSMFTTKBQBOGPSVN
4BOGSBODJTDP
ࠓ͢͜ͱ
-BNCEBΛͬͨΠϕϯτυϦϒϯΞʔΩςΫνϟʹ͓͚Δ ςετͷצॴΛղઆͭͭ͠ɺ ࣮ࡍͷςετίʔυΛಈ͔͠ͳ͕ΒϙΠϯτΛԡ͍͑ͯ͘͞
2ԿނςετΛॻ͘ͷ͔
ܧଓతʹ։ൃΛߦ͏ϓϩδΣΫτϓϩμΫτ ͷ࣭ΛอͪͭͭɺվળͷͨΊͷιʔείʔυͷ มߋΛޮྑ͘ߦ͏ͨΊͷΛ࡞Δ ϞϊϦγοΫͳγεςϜ։ൃͷੈքͰ͜Εಉ͡
2ԿނΠϕϯτυϦϒϯΞʔΩςΫνϟ ͳੈքͰςετͷ͕Α্͕͘Δͷ͔
wૄ݁߹ͳϚΠΫϩαʔϏε܈Λ౷߹ͯ͠ςετΛ͢Δͱ͍͏ɺࠓ·Ͱʹ͋·Γͳ͡Έ ͷͳ͍ςετͷߟ͑ํ͕ඞཁͱͳͬͨ wΞʔΩςΫνϟͷಛੑ্ɺιʔείʔυͷ࣭͕γεςϜࣗମͷ࣭ʹμΠϨΫτʹ ӨڹΛٴ΅ͨ͢ΊɺͳΜͱͳ͘Ͱࡁ·͞Εͳ͍෦͕େ͖͘ͳ͖ͬͯͨ
ΠϕϯτυϦϒϯΞʔΩςΫνϟ ͷςετઓུͬͯͲΜͳͷʁ
ΠϕϯτυϦϒϯΞʔΩςΫνϟͷςετઓུ ΠϯςάϨʔγϣϯςετ Ϣχοτςετ Ϣχοτςετ
ΠϕϯτυϦϒϯΞʔΩςΫνϟͷςετઓུ w࣮ڥʹσϓϩΠͨ͠ΞʔΩςΫνϟͷΠϯϓοτͱΞτϓοτ͕ਖ਼ ͍͜͠ͱΛΠϯςάϨʔγϣϯςετʹΑΓνΣοΫ͢Δ w֤-BNCEBϑΝϯΫγϣϯϢχοτςετʹΑΓɺ୯ମςετΛߦ͏
ΠϯςάϨʔγϣϯςετͷϙΠϯτ w4FSWFSMFTT'SBNFXPSL4".ͳͲͷσϓϩΠπʔϧΛ͍Ξʔ ΩςΫνϟΛఆٛ wσϓϩΠɺςετͷ࣮ࢪɺআͷྲྀΕΛίʔυԽ͢Δ
"1*(BUFXBZͷΠϯςάϨʔγϣϯςετྫ IUUQTHJUIVCDPNIPSJLFTFSWFSMFTTBQJJOUFHSBUJPOUFTUTBNQMF σϓϩΠ আ ςετ beforeAll(() => { Utils.deployService(); });
it('should return correct values from all apis', () => { const testEndpoint = `${endpoint}/hello`; return fetch(testEndpoint, { method: 'GET' }) .then(response => response.json()) .then((json) => expect(json.message).to.equal(‘Go function successfully!')); }); afterAll(() => { Utils.removeService(); }); });
ϢχοτςετͷྲྀΕ w"84"1*ͷଓΛϞοΫɺ-PDBM4UBDLͱ͍ͬͨԾͷڥͰஔ͖͑Δɻͭ·Γɺ "84Ϧιʔεςετ֎ͱͯ͠୯७ʹॲཧͷྲྀΕΤϥʔॲཧͷذͳͲͷϓϩάϥ Ϝ༷ͷςετʹॏΛஔ͘ w"84"1*ͷଘࡏΛҙࣝ͢ΔҎ֎ɺ͍ΘΏΔ௨ৗͷϢχοτςετ
ϞοΫΛ࡞Δྫ const dynamoDbGetStub = sinon.stub(proxyDynamoDB.prototype,’get').returns( {promise: () => { return
Promise.resolve({ Item: { post_title: 'aa', post_content: 'bb' } }) }}) %ZOBNP%#%PDVNFOU$MJFOUHFU QSPNJTF ͷฦΓΛࢦఆ -BNCEBͷϢχοτςετϕετϓϥΫςΟε IUUQRJJUBDPNIPSJLFJUFNTGGCDBF
͜ΕΒͷςετΛΈ߹Θͤͯ ͲͷΑ͏ʹ5FTU%SJWFOʹ։ൃΛߦ͏ͷ͔
5%%ͷྲྀΕ w·ͣΠϯςάϨʔγϣϯςετΛॻ͘ɻ-BNCEBਖ਼ৗܥͷΈͷͬ͘͟Γ௨ΔϨϕ ϧͰྑ͍ w࣍ʹ-BNCEBͷΤϥʔॲཧʹ͍ͭͯཧͯ͠ϢχοτςετͱϓϩάϥϜΛϒϥο γϡΞϓ w࠷ޙʹΠϯςάϨʔγϣϯςετͱϢχοτςετ͕௨Δ͜ͱΛ֬ೝͯ͠
·ͱΊ
wΠϯςάϨʔγϣϯςετΛߦͬͯϚΠΫϩαʔϏεશମΛཏ͢ΔςετΛߦ ͏ wϢχοτςετ"84"1*ͷʹଓͤͣʹ७ਮͳϓϩάϥϜͷৼΔ͍ͷΈΛς ετ͢Δ w։ൃͷࡍ·ͣΠϯςάϨʔγϣϯςετΛॻ͘ͱ͜Ζ͔Β
࠷େࣄͳ͜ͱ
ͨΓલͷ͜ͱͰ͋Γ·͕͢ɺ ࣮ઓͰ͑ΔͨΊʹࣗͰςετΛॻ͍ͯ ମʹ֮͑ͤ͞·͠ΐ͏