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
JavaScript UnitTest PIXNET
Search
CypressKuo
July 21, 2016
Technology
0
220
JavaScript UnitTest PIXNET
JavaScript UnitTest
CypressKuo
July 21, 2016
Tweet
Share
More Decks by CypressKuo
See All by CypressKuo
Deep-copying.pdf
cypresskuo
0
32
CSS_for_Web_Vitals.pdf
cypresskuo
0
38
談談_Code_review.pdf
cypresskuo
0
44
REST_vs_GraphQL_今夜はご注文はどっち.pdf
cypresskuo
0
22
CSS_重構.pdf
cypresskuo
0
25
跟上_JS_的腳步-ES2020.pdf
cypresskuo
0
28
Core_Web_Vitals.pdf
cypresskuo
0
53
這個時代人人都知道的敏捷開發.pdf
cypresskuo
0
56
Webassembly.pdf
cypresskuo
0
12
Other Decks in Technology
See All in Technology
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
240
Digitization部 紹介資料
sansan33
PRO
1
6.8k
Tebiki Engineering Team Deck
tebiki
0
24k
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
180
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
2
190
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
160
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
220
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
530
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.7k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.8k
Featured
See All Featured
Writing Fast Ruby
sferik
630
62k
The Limits of Empathy - UXLibs8
cassininazir
1
210
30 Presentation Tips
portentint
PRO
1
210
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
84
Crafting Experiences
bethany
1
48
Navigating Team Friction
lara
192
16k
Music & Morning Musume
bryan
47
7.1k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
64
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
320
Scaling GitHub
holman
464
140k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Transcript
JavaScript Test -Unit Test 2+:0'6┮䷐倥揎櫧㪰%[RTGUU-WQ
Agenda Test 3W Unit Test (1 W 1 H) TDD
& BDD Test Runner & Testing Framework 2
Why 傶ԧ嘦狒䛑አ纷ୗݢ犥Ӟፗই๗螀֢ᘒ砰䌃介手 㯏梊盠蝧 仂斕犋嘦ਧ ीےᛔמ ׀᯿䯤䁎ࢴጱᵑ 3
When 樄ত樄咳獮 ਞ蕕㪔㬙ᗟ介手ૡٍ 樄咳蝱ᤈ吚Ӿ ୌ缏䛑አ纷ୗጱྯ㮆蟂犩牧᮷ᥝ砰䌃㪔䁆ᤈ介手 樄咳奾盅 ತک%XJ牧疰䌃Ӟ㮆碝ጱ介手犥嘦狒梊藮磪ᤩ狕盋 介手㪔犋ฎ㻌稞ጱ犨率牧ਙ疰猟纷ୗ蛪牧襑ᥝ瞱媲ጱ狕ྋ㪔硬臑 4
Who 㻌ز介手ҁ8QLW7HVW҂>樄咳ᘏ@ ֵአᘏᒒ介手ҁ(QGWR(QG7HVW҂>樄咳ᘏ@ 碉ݳ介手ҁ,QWHJUDWLRQ7HVW҂>樄咳ᘏ4$Ո㹓@ 涢硩介手ҁ$FFHSWDQFH7HVW҂>4$Ո㹓@ 5
Unit Test 纷ୗӾ磧ੜጱ螵蜉㻌ز 獢ୗ IXQFWLRQ 牧ฎොဩ PHWKRG 加缏ҁቘమ҂ 6
Test Driven Development ض䌃介手牧ٚ䌃纷ୗ 夺籗牏翑籗牏᯿䯤 螨عRYHUGHVLJQҁ夺籗䌃纷ୗ҂ 7RS'RZQ姘 7
Behavior Driven Development चෝ7''禊盢ጱ蝱玕粚 虏ֵአᘏ牏介手Ո㹓膏樄咳Ո㹓牧ݢ 犥አӞ䰬ጱොୗ㬵矟蝄膏ԧ薹襑穩 褔犵疥Ո扖旉矦౮纷ୗ嘨ጱ౮ 8
襑穩矟蝄物 8VHUVWRU\物>秂氂矟蝄硲Ԫጱ㻌ᤈਁ@ 蛪傶Ӟ㮆>薫ᜋ@牧౯మᥝ>粬ਧۑ胼@牧 犥>کঅ蒂@ 羬翄ᤈ傶物 *LYHQ>Ӥӥ@ :KHQ>Ԫկ@ 7KHQ>奾ຎ@DQG>ٌਙ奾ຎ@ 9
User story:[帳⼾持有⼈要領錢] ⾝為⼀個 [帳⼾持有⼈],我想要 [從 atm 領 錢],以便 [可以在銀⾏關⾨後領到錢] Given
[帳⼾餘額 100] and [有效的領款卡] and [提款機夠錢] When [帳⼾持有⼈要求提 20 元] Then [提款機應該給 20] and [帳⼾餘額 80] and [退提款卡] 10
Test Runner & Testing Framework 7HVW5XQQHU物 .DUPD 7HVWLQJ)UDPHZRUN物 8QLW7HVWMDVPLQH (QGWR(QG7HVWSURWUDFWRU
11
Demo 12 https:/ /github.com/CypressKuo/js-unit-test
租⽚系統 普通⽚ 租⾦ 100 元 / 7天、逾期 10 元 /
天 新⽚ 租⾦ 150 元 / 3天、逾期 30 元 / 天 兒童⽚ 租⾦ 40 元 / 5天、逾期 5 元 / 天 13
First Test 我租了⼀⽚普通⽚ 15 天,還⽚時需付 多少錢? 14
First Test 紅燈 綠燈 下⼀個測試 15
Second Test 我租了⼀⽚新⽚ 9 天,還⽚時需付多 少錢? 16
紅燈 回到上⼀個綠燈 (first test) 重構 綠燈 (first test) 綠燈 (second
test) 下⼀個測試 17 Second Test
More Test 我租了⼀⽚兒童⽚ 8 天和⼀⽚普通⽚ 1 天,還⽚時需付多少錢? 18
紅燈 回到上⼀個綠燈 (second test) 重構 綠燈 (second test) 綠燈 (third
test) 19 More Test
重構 紅燈 綠燈 重構 (..Loop) 20 More Test
New Requirement 新的租⽚⽅式 國⽚ 租⾦ 60 元 / 6天、逾期
10 元 / 天 租 15 天 21
Reference https:/ /karma-runner.github.io/0.13/config/configuration- file.html http:/ /www.slideshare.net/wantingj/tdd-bdd-47559903 http:/ /fbukevin.github.io/Veck/2015/01/07 /javascript-test- suit-4-test-runner-karma/
http:/ /www.codedata.com.tw/java/unit-test-the-way- changes-my-programming http:/ /www.slideshare.net/yvonne_yu/ss-51379324 http:/ /oomusou.io/phpstorm/phpstorm-tdd-refactor/ 22
Thank You!