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
ng-mocksを活用したユニットテストのご紹介
Search
Yusuke Oba
September 22, 2021
Programming
0
310
ng-mocksを活用したユニットテストのご紹介
ng-japan OnAir vol.46 「Angularのテストを語る」で発表したLTセッションの資料です。
Yusuke Oba
September 22, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
讓數據說話:用 Python、Prometheus 和 Grafana 講故事
eddie
0
350
EventSourcingの理想と現実
wenas
6
2.1k
qmuntal/stateless のススメ
sgash708
0
120
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
550
Vue3の一歩踏み込んだパフォーマンスチューニング2024
hal_spidernight
3
3.1k
飲食業界向けマルチプロダクトを実現させる開発体制とリアルな現状
hiroya0601
1
390
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
0
150
JaSST 24 九州:ワークショップ(は除く)実践!マインドマップを活用したソフトウェアテスト+活用事例
satohiroyuki
0
260
CSC509 Lecture 09
javiergs
PRO
0
110
Honoの来た道とこれから
yusukebe
19
3k
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
9
1k
Synchronizationを支える技術
s_shimotori
1
150
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
31
1.5k
Typedesign – Prime Four
hannesfritz
39
2.4k
Adopting Sorbet at Scale
ufuk
73
9k
Done Done
chrislema
181
16k
Visualization
eitanlees
144
15k
Producing Creativity
orderedlist
PRO
341
39k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
How STYLIGHT went responsive
nonsquared
95
5.2k
A Modern Web Designer's Workflow
chriscoyier
692
190k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Transcript
ng-japan OnAir LT Session
Angular͖ͳWebΞϓϦέʔγϣϯΤϯδχΞͰ͢ ࣗࣾͰӡӦ͢ΔϏϡʔΞʔΞϓϦέʔγϣϯͷςοΫϦʔ υΛ୲͍ͯ͠·͢ɻ Senior Software Engineer yusuke-oba1 About Me େ༔հ
Yusuke OBA
4BGJFͬͯԿʁ
ΫϥυըαʔϏε גࣜձࣾςΫϊɾγεςϜɾϦαʔνʮωοτϫʔΫΧϝϥͷΫϥυըαʔϏεࢢௐࠪʯ ωοτϫʔΫΧϝϥͷө૾ΛΫϥυʹ อଘɻ ͍ͭͰ͖ͳ࣌ʹϥΠϒըө૾Λ ݟΒΕ·͢ɻ ۀɻ ಉ༷ͷαʔϏεͱͯ͠ɺ
ࠃγΣΞ/P✨
ng-mocksΛ׆༻ͨ͠Ϣχοτςετͷ͝հ
ͳͥςετΛॻ͘ͷ͔
ͳͥςετΛॻ͘ͷ͔ ɾσάϨΛ͙ ɾϩδοΫͷมߋɺϥΠϒϥϦͷมߋʹڧ͘ͳΔ ɾΑΓγϯϓϧͳ࣮ʹͳΔ
ςετͷΈ
ςετͷΈ ɾϞοΫΛ࡞͢Δͷ͕खؒ ɾ࣮͕มΘΔͱϞοΫΛվम͢Δඞཁ͕͋Δ
OHNPDLT.PDL1SPWJEFS IUUQTOHNPDLTTVEPFVBQJ.PDL1SPWJEFS ϞοΫΛಈతʹ࡞͢Δ
࣮ྫͷ͝հ
؆୯ͳαϯϓϧͰ͝հ ςΩετϘοΫε ߋ৽Ϙλϯ
ؔ࿈ਤ Component Component Store Service 6*Λఆٛ ঢ়ଶཧɾߋ৽ "1*αʔϏε
σΟϨΫτϦߏ Service Component Store Component
αʔϏεͷ࣮
αʔϏεͷ࣮ "1*ͰΛߋ৽ ⁞ ⁞"1*ͰΛऔಘ
ComponentStoreͷ࣮ͱςετ
$PNQPOFOU4UPSFͷ࣮ ⁞ ⁞ঢ়ଶͱͯ͠WBMVFΛఆٛ αʔϏε͔ΒΛऔಘͯ͠WBMVFͷঢ়ଶΛॳظԽ WBMVFͷঢ়ଶΛߋ৽ αʔϏεͷVQEBUF7BMVFϝιουΛݺͼग़͢
$PNQPOFOU4UPSFͷςετ࣮ ⁞ ⁞OHNPDLTͷ.PDL1SPWJEFSͰαʔϏεΛϞοΫ 5FTU#FEJOKFDUͰϞοΫΠϯελϯε͕ฦΔ TQZ0OͰϝιουͷॲཧΛ্ॻ͖ ঢ়ଶ͕ظʹߋ৽͞Ε͍ͯΔ͔Λςετ
ετΞͷঢ়ଶΛߋ৽ TQZ0OͰϝιουͷॲཧΛ্ॻ͖ ظ͢ΔϝιουɾҾ͕ݺΕ͍ͯΔ͔Λςετ
Componentͷ࣮ͱςετ
HTML Template Component $PNQPOFOUͷ࣮ ⁞ ⁞$PNQPOFOU4UPSFΛQSPWJEFSTʹՃ $PNQPOFOU4UPSFΛ%*Ͱೖ WBMVFมʹετΞͷWBMVFΛೖ
˞QVTIQJQFBTZODQJQFͷΧελϚΠζ ςΩετϘοΫεʹWBMVFΛόΠϯσΟϯά ˞TGUFYUCPYಠࣗίϯτϩʔϧ ϘλϯʹVQEBUFϝιουΛόΠϯσΟϯά ˞TGCVUUPOಠࣗίϯτϩʔϧ
$PNQPOFOUͷςετ࣮ ⁞ ⁞.PDL1SPWJEFSͰ$PNQPOFOU4UPSFΛϞοΫ ɹWBMVFΛ#FIBWJPS4VCKFDUʹஔ͖͑ WBMVFͷΛߋ৽ ˞.PDL4UPSF7BMVFʹ͍ͭͯޙड़ ςΩετϘοΫεͷΛςετ ˞GJOE&MFNFOUT#Z/BNFʹ͍ͭͯޙड़
ίϯτϩʔϧͷϔϧύʔΛ࡞ ˞ಠࣗίϯτϩʔϧΛςετͰ੍ޚ͢ΔͨΊͷϔϧύʔΫϥε 6QEBUFϘλϯΛΫϦοΫͯ͠VQEBUFϝιου ͕ݺΕ͍ͯΔ͔Λςετ
ศརؔͷհ #FIBWJPS4VCKFDUͷΛߋ৽͢Δ )5.-ཁૉͷOBNFଐੑ͔ΒλʔήοτͷཁૉΛ୳ࡧ͢Δ
·ͱΊ ɾϞοΫͷ࡞ίετΛݮ͢Δ͚ͩͰ͍ͩͿָʹͳΔ ɾཁૉOBNFଐੑΛ༩࣮ͯ֬͠ʹऔΕΔΑ͏ʹ͢Δ ɾϔϧύʔΫϥεͰίϯτϩʔϧΛૢ࡞Ͱ͖ΔΑ͏ʹ͢Δͱศར ɾςετॻ͖ա͗ͳ͍
ө૾͔ΒະདྷΛͭ͘Δ