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
ユニットテストとE2Eテストをdemoしたい件
Search
ふるてつ
January 27, 2020
Technology
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ユニットテストとE2Eテストをdemoしたい件
正月休みにユニットテストを頑張ったのでdemoしたいです。
E2Eテストも作ったのでそちらもdemoします。
ふるてつ
January 27, 2020
More Decks by ふるてつ
See All by ふるてつ
Angularで簡単な画面を単体テストまで一通り作った件
furutetsu
1
1.4k
はじめてのSpringBoot
furutetsu
0
510
AngularとBootstrapを使った業務システムの設計について考えた。
furutetsu
1
2.5k
Other Decks in Technology
See All in Technology
第3回しろおびセキュリティスポンサーセッション
log0417
0
200
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
150
【CEDEC2026】『ウマ娘 プリティーダービー』 英語版のキャラクターの方言や口調をローカライズするための創造的アプローチ
cygames
PRO
2
990
カートの信頼性を担保するWireMockを使ったe2eテスト
ykagano
0
300
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
1.3k
LanceDB入門
mocobeta
7
510
Bits Agent Builder の⼊⾨と活⽤事例
nulabinc
PRO
0
140
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
110
モダンフロントエンド 開発研修
recruitengineers
PRO
4
650
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
SmartHR Engineering Team Deck
smarthr
1
2.1k
Kiro Crew入門 - 常駐エージェントの仕組みと使いどころ / Intro to Kiro Crew
k_adachi_01
1
130
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
990
Technical Leadership for Architectural Decision Making
baasie
3
480
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
Scaling GitHub
holman
464
140k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.7k
Fireside Chat
paigeccino
42
4k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
430
The Invisible Side of Design
smashingmag
301
52k
How to train your dragon (web standard)
notwaldorf
97
6.8k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Transcript
ユニットテストとE2Eテストを demoしたい件 Angular もくもく会 in Fukuoka #10 2020.1.30
自己紹介 福岡のおじさんエンジニアです。 現役で客先常駐しています。 COBOL → VB6.0 → VB.net → Spring
BootなIT人生。 他 jQuery → AngularJS → Angular 定年後の夢は、年金をもらいながら自称IT発明家になることです。 ふるてつ@tetsufuru19681 https://tetsufuru.hatenablog.com/ ちょくちょく参加するコミュニティ
今日のおはなし 正月休みにユニットテストを頑張ったのでdemoしたいです。 E2Eテストも作ったのでそちらもdemoします。
内容 架空の業務システムです(バックオフィス側) 5画面です。 商品登録/商品一覧の参照がメインです。 在庫登録も少し。購入履歴の参照もできます。 テスト用購入画面もあります(管理者のみ)
では実物をお見せします。
こだわりポイント マルチ言語、マルチタイムゾーンです。 インターセプターを2つ追加しました(ログイン、csrf用) カスタムのPipeを2つ追加、それをDirectiveにしました。 Inputのフォーカスが外れると通貨フォーマットになるなど。 カスタムのバリデーションを3つ追加 複数項目の相対的なチェック。在庫がないと購入できないなど。
ではユニットテストを動かします。
難易度(個人的感想) 種類 難易度 難しいポイント 備考 Service 1 Custom Pipe 2
Custom Validator 2 Component(部品) 3 Interceptor 3 やり方が最初は全然わか らず Component(ページ) 4 Directive 4 やり方が最初は全然わか らず specテストファイルの中 にtemplateを書く その他難しい部品 File Readerのモック 5 ファイルリーダーをモッ ク化した時にonloadイベ ントのカバレッジが通ら ない。 モック化したリーダーに イベントリスナを追加す る。
E2Eテストについて 登場ユーザ3人 User01:メインユーザ。商品の管理と購入履歴を参照(日本語、東京) User02:商品の在庫管理をするユーザ(英語、ロサンゼルス) User99:システム管理者(日本語、東京) シナリオ4つ ① User01:商品を登録、一覧で検索し修整する。 ② User02:商品の在庫を登録する。
③ User99:商品を購入する(管理者でテスト用画面を使って登録する) ④ User01:購入履歴を検索する。
ではE2Eテストを動かします。
結果 正月休みにユニットテストを頑張ったのでdemoしてみました。 まとめてユニットテストを書いたのすごく時間がかかりました(3週間) E2Eテストはすこし軽めです。疎通テストくらいの感じになりました。 E2Eテストは休日1日で書けました。
以上、ユニットテストとE2Eテストを demoしたい件でした。 ほぼおじさんの自己満足的な内容でしたが、 ご清聴ありがとうございました。