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
0
200
ユニットテストとE2Eテストをdemoしたい件
正月休みにユニットテストを頑張ったのでdemoしたいです。
E2Eテストも作ったのでそちらもdemoします。
ふるてつ
January 27, 2020
Tweet
Share
More Decks by ふるてつ
See All by ふるてつ
Angularで簡単な画面を単体テストまで一通り作った件
furutetsu
1
940
はじめてのSpringBoot
furutetsu
0
360
AngularとBootstrapを使った業務システムの設計について考えた。
furutetsu
1
1.4k
Other Decks in Technology
See All in Technology
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
1
150
元インフラエンジニアに成る / Human Resources to Human Relations
bobtani
4
920
オーナーシップを持つ領域を明確にする
konifar
13
3.2k
競技としてのKaggle、役に立つKaggle
yu4u
3
1.8k
Databricks における 『MLOps』
databricksjapan
2
170
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
0
230
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
300
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
1
120
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
130
IaCジェネレーターとBedrockで詳細設計書を生成してみた
tsukasa_ishimaru
1
280
Building Dashboards as a Hobby
egmc
0
230
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
319
37k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Designing the Hi-DPI Web
ddemaree
276
33k
The Power of CSS Pseudo Elements
geoffreycrofte
60
5k
Embracing the Ebb and Flow
colly
80
4.1k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
10 Git Anti Patterns You Should be Aware of
lemiorhan
648
58k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
322
20k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
21
1.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
24
2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
A Philosophy of Restraint
colly
197
16k
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したい件でした。 ほぼおじさんの自己満足的な内容でしたが、 ご清聴ありがとうございました。