Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
KotlinのUnitTestの事例
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
yasu-yamasaki
October 28, 2022
Programming
440
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
KotlinのUnitTestの事例
yasu-yamasaki
October 28, 2022
More Decks by yasu-yamasaki
See All by yasu-yamasaki
JavaエンジニアがKotlin_SpringでWebアプリケーションを作った話__1_.pdf
yasuyukiyamasaki
1
830
Other Decks in Programming
See All in Programming
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
130
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
120
What We Talk About When We Talk About XP
m_seki
2
450
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
230
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
260
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
180
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
140
GraphRAGのKnowledge Graphを 直接!見る/View-GraphRAG's-KnowledgeGraph-directly!
tyumugi1113
1
280
Building an Out-of-Order CPU
latte72
1
750
Deep dive into the select statement (GopherCon UK)
jespino
0
170
不幸な GC
chencmd
0
900
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
520
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Code Review Best Practice
trishagee
74
20k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
270
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
320
Building the Perfect Custom Keyboard
takai
2
870
Visualization
eitanlees
152
17k
Practical Orchestrator
shlominoach
191
12k
Paper Plane (Part 1)
katiecoart
PRO
1
11k
For a Future-Friendly Web
brad_frost
183
10k
Transcript
KotlinのUnitTestの事例 2022年10月28日 Finatext Ltd. 山﨑 康行
Copyright © FINATEXT. All rights Reserved. 1 自己紹介 山﨑 康行
@yasu_yamasaki ( 2018/12〜 Finatext ) • バックエンド担当 • JavaでのWebアプリケーション開発歴:8年 • Kotlin歴:4年 • フロント(Vue.js)とインフラもやります
Copyright © FINATEXT. All rights Reserved. 2 今日話すこと • KotlinによるWebアプリケーションUnitTestの事例
◦ 使ってるライブラリはJavaと大きく変わらない ◦ Kotest使うとJUnitより簡潔にテストがかける ◦ Javaでも使えるTestをサポートするライブラリの紹介
Copyright © FINATEXT. All rights Reserved. 3 システムの概略
Copyright © FINATEXT. All rights Reserved. 4 使用している主なライブラリ カテゴリ ライブラリ
Java Build Gradle ◦ Web Framework Ktor ☓ HTTP Client OkHttp ◦ OR Mapper Exposed ☓ Connection Pool HikarCP ◦ DB Migrate Flyway ◦ Log Logback ◦ Container Build jib ◦ Testing Framework Kotest ☓ Ktor Test ktor-server-tests ☓ Mock (Test) MockServer ◦ Container (Test) Testcontainers ◦
Copyright © FINATEXT. All rights Reserved. 5 UnitTest時の構成
Copyright © FINATEXT. All rights Reserved. 6 Kotestとは • KotlinのTesting
Framework • OSS • Kotlin公式のものではない ◦ 公式で紹介されてるのはJUnit • KotlinのSyntaxを活用することで、JUnitより簡潔にTestを書ける • やれることは概ねJUnitと同じ • https://kotest.io/
Copyright © FINATEXT. All rights Reserved. 7 サンプル
Copyright © FINATEXT. All rights Reserved. 8 Kotestを使ったテストの書き方のサンプル
Copyright © FINATEXT. All rights Reserved. 9 ケースのネストが簡単にできます
Copyright © FINATEXT. All rights Reserved. 10 パラメータ化テストが簡単にできます
Copyright © FINATEXT. All rights Reserved. 11 Javaでも使えるテストをサポートするライブラリの紹介 目立たせる
Copyright © FINATEXT. All rights Reserved. 12 Javaでも使えるテストをサポートするライブラリの紹介 • MockServer
◦ モックサーバを簡単に建てられる ◦ JUnit上で建てれば、テスト対象からのRequestのAssertも簡単にできる
Copyright © FINATEXT. All rights Reserved. 13 Javaでも使えるテストをサポートするライブラリの紹介 • Testcontainers
◦ JUnitでDockerContainerを操作するためのライブラリ ◦ Javaでembedして動かせないソフトウェア(PostgreSQLとか)とのテストを するときに活用できる
Copyright © FINATEXT. All rights Reserved. 14 さいごに • 質問・ご意見歓迎です
• 個別のご質問があれば @yasu_yamasaki 宛にご連絡ください • 資料のURLもTwitterで共有いたします • Finatext では一緒に働く仲間を募集中です ◦ https://finatext.notion.site/finatext/Finatext-cd4ff36fb8bd4aa78a7835565c 655396
Copyright © FINATEXT. All rights Reserved. 15