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
Node.js製CLIツールのE2Eテストに取り組んでいます / Working on E2E testing of Node.js CLI tools
Search
tasshi
December 14, 2023
Programming
0
390
Node.js製CLIツールのE2Eテストに取り組んでいます / Working on E2E testing of Node.js CLI tools
Nihonbashi.js #8 のLT資料です。
イベント情報はこちら↓
https://nihonbashi-js.connpass.com/event/301794/
tasshi
December 14, 2023
Tweet
Share
More Decks by tasshi
See All by tasshi
SDK開発チームのプロダクトオーナーが考えていること / Product management of SDK
tasshi
1
840
モダンな開発環境を用いた カンタン/安全なカスタマイズ開発 / kintone devCamp Boost! 2023
tasshi
0
400
Node Streamでメモリ性能改善、そしてWeb Streams APIへ / Improving memory performance of the CLI tool using Node Stream
tasshi
1
2.6k
グローバルチームことはじめ / Bootstrapping a global team
tasshi
1
2.9k
2年目サイボウズ社員とOSS / OSS development of junior engineer in Cybozu
tasshi
0
610
クレートを作ってcrates.ioに公開するまで / How to publishing to crates.io
tasshi
0
530
swarm modeで始める ゆるふわオーケストレーション / Starting Orchestration Softly with Swarm Mode
tasshi
0
2.8k
Other Decks in Programming
See All in Programming
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
280
Deep Dive into React Stream/Serialize
mugi_uno
3
690
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
610
新宿ダンジョンを可視化してみた
satoshi7190
3
390
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
200
Let's learn code review
riofujimon
2
580
Komplexe Oberflächen mit SVG und der Web Animation API
joergneumann
0
680
Snowflakeで眠ったデータを起こそう!
estie
0
150
Webアプリをできるだけコードを手書きしないで作ってみる
tomokusaba
2
120
Three ways to use AI on Android: The Good, the Bad and the Ugly
marxallski
0
110
Goのmultiple errorsについて (2024年4月版)
syumai
4
1.2k
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
890
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
111
6.5k
Clear Off the Table
cherdarchuk
85
310k
How to train your dragon (web standard)
notwaldorf
75
5.2k
Unsuck your backbone
ammeep
663
57k
How STYLIGHT went responsive
nonsquared
92
4.8k
The Invisible Side of Design
smashingmag
294
49k
The Cult of Friendly URLs
andyhume
74
5.7k
4 Signs Your Business is Dying
shpigford
176
21k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.2k
How GitHub (no longer) Works
holman
305
140k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Docker and Python
trallard
35
2.7k
Transcript
/PEFKT$-*πʔϧͷ &&ςετʹऔΓΜͰ͍·͢ / J I P O C B T
I J K T α Π Ϙ ζ ג ࣜ ձ ࣾ L J O U P O F % 9 ν ʔ Ϝ U B T T I J
XIPBNJ 🚀 ా խ࣏ !UBTTIJ@NF • αΠϘζגࣜձࣾ • LJOUPOF %9νʔϜ
• 1048& • 4LJMMT • /PEFKT • 5ZQ F 4 DS JQ U ݘ ʹ ͳ Γ ͨ ͍ ɺ ɺ ɺ
LJOUPOF%9νʔϜ 🛠 • LJOUPOFฐࣾఏڙͷΫϥυαʔϏε • %9։ൃऀମݧ %FWFMPQFSF9QFSJFODF • LJOUPOFͷΤίγεςϜ։ൃऀͷ%9্ •
4%,ɾ$ -*πʔϧͷఏڙɾอक 044 • ґଘϥΠϒϥϦͷ$ POUS JC VUJPO • /PEFKT 5ZQF4DSJQU F UDʜ
$ZCP[V*OTJEF0VU I U U Q T
C M P H D Z C P [ V J P F O U S Z
/PEFKT$-*πʔϧͷ &&ςετʹऔΓΜͰ͍·͢
DMJLJOUPOF • LJOUPOFͷϨίʔυΛΠϯϙʔτΤΫεϙʔτ͢Δ$ -*πʔϧ • 5ZQ F 4 DS JQ
UͰ։ൃ • WF SDF MQLHͰ࣮ߦϑΝΠϧʹมͯ͠ • 4&" ͕4UBC MF ʹͳͬͨΒҠߦ͍ͨ͠ɺɺɺ
ݩʑͷ։ൃϑϩʔͰɺɺɺ • νʔϜʹ2"͍ͳ͍ • 48&͕Ϣχοτςετ +FTU Λॻ͍͍ͯͨ • 13ͷ" TTJHOF
F 3F WJF XF S͕அ • ΧόϨοδͦ͜·Ͱѱ͘ͳ͔ͬͨ • 4 UBUF NF OUT • # S BODIFT • 'VODUJPOT • -JOFT
ࠔΓ͝ͱ • 48&ϝϯόʔͷೖΕସΘΓ • 5ZQ F 4 DS JQ U
/PEF KTʹ׳Ε͍ͯͳ͍ϝϯόʔ͕૿͑ͨ • 2" ͕͍ΔνʔϜग़ͷϝϯόʔ͕૿͑ͨ • ϝϯόʔ͕҆৺ͯ͠։ൃͰ͖ͳ͍ঢ়ଶʹ • ࣮ߦϑΝΠϧɺ࣮ߦڥʹؔ͢Δෆ۩߹͕ൃੜ • ωοτϫʔΫ ϓϩΩγɾূ໌ॻ ؔ࿈ • ϑΝΠϧγεςϜؔ࿈ ͳͲ
ςετΛͪΌΜͱΖ͏ʂ
ςετΛͪΌΜͱΔಓͷΓ ςετઓུ ࡦఆ ςετέʔε ࡞ ࣗಈςετ ࣮ ࣗಈςετج൫ ߏங
2"ϝϯόʔΛଐ
ςετઓུ • ͳͥςετ͢Δͷ͔ • ։ൃऀ͕όάɾσάϨͷݒ೦Λ࠷খԽͯ͠։ൃܧଓͰ͖Δ • ΤϯυϢʔβʔ͕࣭ͷอͨΕͨΛར༻Ͱ͖Δ • ͲΜͳςετΛ͢Δͷ͔ •
γεςϜɾιϑτΣΞͷ࣭Ϟσϧ • ΞʔΩςΫνϟ • &&ςετ Ϣχοτςετ͋ΔͷͰ • ࣗಈςετج൫
ςετέʔε࡞ • γεςϜɾιϑτΣΞͷ࣭Ϟσϧ • ରԠ͢ΔDMJ LJOUPOFͷςετ؍Λ࡞ • 2"͕ୟ͖Λ࡞ • ୟ͖Λݩʹ48&2"
Ͱ࠷ऴతͳςετέʔεΛ࡞
ࣗಈςετج൫ߏங • ςεςΟϯάϑϨʔϜϫʔΫ • ࣮ߦڥ • ςετ༻αʔό ࣮ߦڥ ςετ༻αʔό
ςεςΟϯά ϑϨʔϜϫʔΫ BBBBB CCCCC DDDDDD "QQ *% 5FYU /VNCFS DMJ LJOUPOF 4FUVQ"QQ &YFDVUFDMJLJOUPOF 7FSJGZUIFSFTVMU
ςεςΟϯάϑϨʔϜϫʔΫ $-*ςετ+4ΤίγεςϜͰ༗໊ͳͷΛௐࠪ • CBUTDPSF • +FTU • 7JUFTU • $VDVNCFSˡ͜Εʹͨ͠
$VDVNCFS • #%% ৼΔ͍ۦಈ։ൃ ϑϨʔϜϫʔΫ • ςετʹ༷ʹԊͬͨʮৼΔ͍ʯΛهड़͢Δ • (IFSLJOه๏ •
(JWF O 8IFO 5IFO • ΫϩεϓϥοτϑΥʔϜ • +BWB +BWB4DSJQU 3VCZ /&5ͳͲ • /PEFKTͰ$ VDVNC F S KTΛ༻
Ͳ͏ΒݱͬΆ͍ ˣ৽ ˣچ I U U Q T
O Q N U S F O E T D P N ! D V D V N C F S D V D V N C F S W T D V D V N C F S
ςετ༷ͱςετίʔυͷ 'FBUVSFਓؒ 4DFOBSJPΛങ͏ (JWFOਓ͕ؒʹ͍Δ 8IFOਓ͕ؒΛങ͏ 5IFOਓ͕ؒΛ࣋ͭ (JWFO lਓ͕ؒ\TUSJOH^ʹ͍Δz
GVODUJPO \ʜ^ 8IFO lਓ͕ؒ\TUSJOH^Λങ͏z \ʜ^ ʜ ςετ༷ IVNBOGFBUVSF ςετ࣮ TUFQ@EFGJOJUJPOTIVNBOUT
$VDVNCFSΛ࠾༻͢ΔϝϦοτ • ςετ༷ॻ͕ࣗવͱ࡞͞ΕΔ • γφϦΦΛॻ͔ͳ͍ͱࢼݧͰ͖ͳ͍ • εςοϓʹର࣮ͯ͠Λॻ͘ • ࠶ར༻͘͢͠͠Α͏ͱ͢Δྗ͕ಇ͘ •
࣮ͷείʔϓ͕খ͘͞ͳΓ͍͢ • 2"͕ࣗಈςετΛݟ͍͢ • εςοϓఆ͕ٛ͋Ε2" ͕ࣗಈςετΛՃͰ͖Δ
ߏஙͨࣗ͠ಈςετج൫ (JU)VC"DUJPOT LJOUPOFڥ $VDVNCFSKT BBBBB CCCCC
DDDDDD "QQ *% 5FYU /VNCFS DMJ LJOUPOF 4FUVQ"QQ &YFDVUFDMJLJOUPOF 7FSJGZUIFSFTVMU
ࣗಈςετ࣮ • ࣗಈԽ༧ఆͷࢼݧ͕݅ • ޙʹͳΔ΄ͲطଘͷεςοϓఆٛΛ࠶ར༻Ͱ͖ͨ • ࣮͕ٸ্ঢ • ং ൫
ε ϓ Ϧ ϯ τ ʹ ݅ લ ޙ • ऴ ൫ ε ϓ Ϧ ϯ τ ʹ ݅ લ ޙ
Ͳ͏ͳͬͨʁ
࣮·͔ͩΓ·ͤΜ • લεϓϦϯτʹશςετέʔεΛ࣮͠ऴΘͬͨ • ࣮ऴΘ͔ͬͨΓͳͷͰޮՌଌఆ͜Ε͔Β • ͨͩલड़ͷ$VDVNCFSͷϝϦοτ͢Ͱʹײ͍ͯ͡Δ • ςετέʔεͷ্࣮͕ •
2" ͕ςετέʔεΛ࣮
ؾʹͳͬͯΔ͜ͱɾࠓޙͷ՝ • ࣮ߦ࣌ؒͱ͔ • ݱࡏ ఔ • &&ภॏʹͳΒͳ͍ʁ • Ҿ͖ଓ͖Ϣχοτςετॻ͍͍ͯ͘
• ֎ͱத͔Β࣭Λ୲อ͍ͯ͘͠
·ͱΊ • $-*πʔϧͷ&&ςετΛ࣮ͨ͠ • $VDVNCFSͷ࠾༻Ͱ48&⁶2"͕࿈ܞ͘͢͠ͳͬͨ • ޮՌ͜Ε͔Βଌఆ͠·͢