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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
tasshi
December 14, 2023
Programming
1.9k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
More Decks by tasshi
See All by tasshi
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
330
プロダクトにも、チームにも。サイボウズがAIと共に歩む理由 / YAPC 2025 Cybozu Team AI
tasshi
0
630
Web Streams APIの基本と実践、TypeScriptでの活用法 / TSKaigi 2025 Web Streams API
tasshi
6
3.8k
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
420
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
910
GitHub Projectsを自動化するGitHub CLIテクニック / Automate GitHub Projects with GitHub CLI
tasshi
2
2.1k
SDK開発チームのプロダクトオーナーが考えていること / Product management of SDK
tasshi
1
2.4k
モダンな開発環境を用いた カンタン/安全なカスタマイズ開発 / kintone devCamp Boost! 2023
tasshi
0
1.1k
Node Streamでメモリ性能改善、そしてWeb Streams APIへ / Improving memory performance of the CLI tool using Node Stream
tasshi
1
3.9k
Other Decks in Programming
See All in Programming
「人を評価する AI」の設計と実装
ryoyanara
0
160
Built Our Own Background Agent at LayerX
layerx
PRO
9
4.9k
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
580
the container ship “Apple Silicon”@WWDC26 Recap -Japan-\(region).swift
shingangan
0
110
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.5k
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
530
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.3k
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
210
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.7k
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
200
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
140
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
290
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
WENDY [Excerpt]
tessaabrams
11
39k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
250
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1k
Claude Code のすすめ
schroneko
67
230k
Code Reviewing Like a Champion
maltzj
528
40k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
We Have a Design System, Now What?
morganepeng
55
8.3k
It's Worth the Effort
3n
188
29k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.2k
How to make the Groovebox
asonas
2
2.3k
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"͕࿈ܞ͘͢͠ͳͬͨ • ޮՌ͜Ε͔Βଌఆ͠·͢