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
280
0
Share
ユニットテストとE2Eテストをdemoしたい件
正月休みにユニットテストを頑張ったのでdemoしたいです。
E2Eテストも作ったのでそちらもdemoします。
ふるてつ
January 27, 2020
More Decks by ふるてつ
See All by ふるてつ
Angularで簡単な画面を単体テストまで一通り作った件
furutetsu
1
1.3k
はじめてのSpringBoot
furutetsu
0
490
AngularとBootstrapを使った業務システムの設計について考えた。
furutetsu
1
2.4k
Other Decks in Technology
See All in Technology
EarthCopilotに学ぶマルチエージェントオーケストレーション
nakasho
0
260
生成AI時代のエンジニア育成 変わる時代と変わらないコト
starfish719
0
8.9k
AIを共同作業者にして書籍を執筆する方法 / How to Write a Book with AI as a Co-Creator
ama_ch
2
120
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
Rebirth of Software Craftsmanship in the AI Era
lemiorhan
PRO
4
1.8k
AWS認定資格は本当に意味があるのか?
nrinetcom
PRO
1
260
[最強DB講義]推薦システム | 基礎編
recsyslab
PRO
1
140
ハーネスエンジニアリングの概要と設計思想
sergicalsix
9
4k
レビューしきれない?それは「全て人力でのレビュー」だからではないでしょうか
amixedcolor
0
280
CDK Insightsで見る、AIによるCDKコード静的解析(+AI解析)
k_adachi_01
2
180
実践ハーネスエンジニアリング:TAKTで実現するAIエージェント制御 / Practical Harness Engineering: AI Agent Control Enabled by TAKT
nrslib
9
3.9k
システムは「動く」だけでは足りない 実装編 - 非機能要件・分散システム・トレードオフをコードで見る
nwiizo
4
410
Featured
See All Featured
Paper Plane
katiecoart
PRO
1
49k
We Are The Robots
honzajavorek
0
210
Designing Powerful Visuals for Engaging Learning
tmiket
1
340
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
440
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
GraphQLとの向き合い方2022年版
quramy
50
15k
The Pragmatic Product Professional
lauravandoore
37
7.2k
How to Ace a Technical Interview
jacobian
281
24k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
53k
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したい件でした。 ほぼおじさんの自己満足的な内容でしたが、 ご清聴ありがとうございました。