Upgrade to Pro — share decks privately, control downloads, hide ads and more …

KotlinのUnitTestの事例

 KotlinのUnitTestの事例

yasu-yamasaki

October 28, 2022
Tweet

More Decks by yasu-yamasaki

Other Decks in Programming

Transcript

  1. Copyright © FINATEXT. All rights Reserved. 1
 自己紹介 山﨑 康行

      @yasu_yamasaki ( 2018/12〜 Finatext ) • バックエンド担当 • JavaでのWebアプリケーション開発歴:8年 • Kotlin歴:4年 • フロント(Vue.js)とインフラもやります
  2. Copyright © FINATEXT. All rights Reserved. 2
 今日話すこと • KotlinによるWebアプリケーションUnitTestの事例

    ◦ 使ってるライブラリはJavaと大きく変わらない ◦ Kotest使うとJUnitより簡潔にテストがかける ◦ Javaでも使えるTestをサポートするライブラリの紹介
  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 ◦
  4. Copyright © FINATEXT. All rights Reserved. 6
 Kotestとは • KotlinのTesting

    Framework • OSS • Kotlin公式のものではない ◦ 公式で紹介されてるのはJUnit • KotlinのSyntaxを活用することで、JUnitより簡潔にTestを書ける • やれることは概ねJUnitと同じ • https://kotest.io/
  5. Copyright © FINATEXT. All rights Reserved. 12
 Javaでも使えるテストをサポートするライブラリの紹介 • MockServer

    ◦ モックサーバを簡単に建てられる ◦ JUnit上で建てれば、テスト対象からのRequestのAssertも簡単にできる
  6. Copyright © FINATEXT. All rights Reserved. 13
 Javaでも使えるテストをサポートするライブラリの紹介 • Testcontainers

    ◦ JUnitでDockerContainerを操作するためのライブラリ ◦ Javaでembedして動かせないソフトウェア(PostgreSQLとか)とのテストを するときに活用できる
  7. Copyright © FINATEXT. All rights Reserved. 14
 さいごに • 質問・ご意見歓迎です

    • 個別のご質問があれば @yasu_yamasaki 宛にご連絡ください • 資料のURLもTwitterで共有いたします • Finatext では一緒に働く仲間を募集中です ◦ https://finatext.notion.site/finatext/Finatext-cd4ff36fb8bd4aa78a7835565c 655396