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...
Search
tasshi
December 14, 2023
Programming
0
1.5k
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
Web Streams APIの基本と実践、TypeScriptでの活用法 / TSKaigi 2025 Web Streams API
tasshi
6
1.6k
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
310
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
610
GitHub Projectsを自動化するGitHub CLIテクニック / Automate GitHub Projects with GitHub CLI
tasshi
2
1.7k
SDK開発チームのプロダクトオーナーが考えていること / Product management of SDK
tasshi
1
1.6k
モダンな開発環境を用いた カンタン/安全なカスタマイズ開発 / kintone devCamp Boost! 2023
tasshi
0
890
Node Streamでメモリ性能改善、そしてWeb Streams APIへ / Improving memory performance of the CLI tool using Node Stream
tasshi
1
3.6k
グローバルチームことはじめ / Bootstrapping a global team
tasshi
1
4.1k
2年目サイボウズ社員とOSS / OSS development of junior engineer in Cybozu
tasshi
0
850
Other Decks in Programming
See All in Programming
AIエージェント時代における TypeScriptスキーマ駆動開発の新たな役割
bicstone
4
1.5k
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
150
iOS 17で追加されたSubscriptionStoreView を利用して5分でサブスク実装チャレンジ
natmark
0
510
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
900
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
440
メモリ不足との戦い〜大量データを扱うアプリでの実践例〜
kwzr
1
780
Swift Concurrency - 状態監視の罠
objectiveaudio
2
450
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
680
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
2.9k
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1k
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
750
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
3
160
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
KATA
mclloyd
32
15k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Language of Interfaces
destraynor
162
25k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Documentation Writing (for coders)
carmenintech
75
5k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
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"͕࿈ܞ͘͢͠ͳͬͨ • ޮՌ͜Ε͔Βଌఆ͠·͢