Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Hiroshi Kikuchi
5,178 views
JUnit5とAndroidのテスト
Android Test Night #1 https://testnight.connpass.com/event/63753/ で発表した(する)スライドです。
Technology
◦
Read more
1
Save
Share
Embed
Embed presentation
Download
Downloaded 10 times
1
/ 32
2
/ 32
3
/ 32
4
/ 32
5
/ 32
6
/ 32
7
/ 32
8
/ 32
9
/ 32
10
/ 32
11
/ 32
12
/ 32
13
/ 32
14
/ 32
15
/ 32
16
/ 32
17
/ 32
18
/ 32
19
/ 32
20
/ 32
21
/ 32
22
/ 32
23
/ 32
24
/ 32
25
/ 32
26
/ 32
27
/ 32
28
/ 32
29
/ 32
30
/ 32
31
/ 32
32
/ 32
More Related Content
PDF
The Android graphics path, in depth
by
Chris Simmonds
PDF
Android Treble: Blessing or Trouble?
by
Opersys inc.
PPTX
Mobile Automation with Appium
by
Manoj Kumar Kumar
PPTX
Camera 2.0 in Android 4.2
by
Balwinder Kaur
PDF
Embedded Android : System Development - Part II (HAL)
by
Emertxe Information Technologies Pvt Ltd
PPT
Appium
by
Keshav Kashyap
PDF
Manage appium dependencies with -appium-home in appium 2.0
by
Kazuaki Matsuo
PPTX
Jenkins CI
by
Viyaan Jhiingade
The Android graphics path, in depth
by
Chris Simmonds
Android Treble: Blessing or Trouble?
by
Opersys inc.
Mobile Automation with Appium
by
Manoj Kumar Kumar
Camera 2.0 in Android 4.2
by
Balwinder Kaur
Embedded Android : System Development - Part II (HAL)
by
Emertxe Information Technologies Pvt Ltd
Appium
by
Keshav Kashyap
Manage appium dependencies with -appium-home in appium 2.0
by
Kazuaki Matsuo
Jenkins CI
by
Viyaan Jhiingade
What's hot
PDF
Deep Dive async/await in Unity with UniTask(EN)
by
Yoshifumi Kawai
ODP
Android Camera Architecture
by
Picker Weng
PPTX
Angular Unit Testing
by
Shailendra Chauhan
PDF
CI/CD with Github Actions
by
Md. Minhazul Haque
PDF
Appium Dockerization: from Scratch to Advanced Implementation - HUSTEF 2019
by
Sargis Sargsyan
PDF
Android device driver structure introduction
by
William Liang
PDF
Design and Concepts of Android Graphics
by
National Cheng Kung University
PPTX
GitLab.pptx
by
LeoulZewelde1
PPT
Android & iOS Automation Using Appium
by
Mindfire Solutions
PDF
Embedded Android : System Development - Part IV
by
Emertxe Information Technologies Pvt Ltd
PDF
What is flutter and why should i care?
by
Sergi Martínez
PDF
ABS 2012 - Android Device Porting Walkthrough
by
Benjamin Zores
PDF
No drama here - E2E-testing django with playwright
by
Mastacheata1
PPTX
Aidl service
by
Anjan Debnath
PDF
iPhoneでリアルタイムマルチプレイを実現!Photon Network Engine
by
GMO GlobalSign Holdings K.K.
PDF
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
by
Troublemaker Khunpech
PPTX
C++ tips4 cv修飾編
by
道化師 堂華
PPTX
Android graphic system (SurfaceFlinger) : Design Pattern's perspective
by
Bin Chen
PDF
Retrofit library for android
by
InnovationM
PDF
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
by
The Linux Foundation
Deep Dive async/await in Unity with UniTask(EN)
by
Yoshifumi Kawai
Android Camera Architecture
by
Picker Weng
Angular Unit Testing
by
Shailendra Chauhan
CI/CD with Github Actions
by
Md. Minhazul Haque
Appium Dockerization: from Scratch to Advanced Implementation - HUSTEF 2019
by
Sargis Sargsyan
Android device driver structure introduction
by
William Liang
Design and Concepts of Android Graphics
by
National Cheng Kung University
GitLab.pptx
by
LeoulZewelde1
Android & iOS Automation Using Appium
by
Mindfire Solutions
Embedded Android : System Development - Part IV
by
Emertxe Information Technologies Pvt Ltd
What is flutter and why should i care?
by
Sergi Martínez
ABS 2012 - Android Device Porting Walkthrough
by
Benjamin Zores
No drama here - E2E-testing django with playwright
by
Mastacheata1
Aidl service
by
Anjan Debnath
iPhoneでリアルタイムマルチプレイを実現!Photon Network Engine
by
GMO GlobalSign Holdings K.K.
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
by
Troublemaker Khunpech
C++ tips4 cv修飾編
by
道化師 堂華
Android graphic system (SurfaceFlinger) : Design Pattern's perspective
by
Bin Chen
Retrofit library for android
by
InnovationM
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
by
The Linux Foundation
More from Hiroshi Kikuchi
PDF
画面状態を抽象化してテスタブル設計ライフを送ろう
by
Hiroshi Kikuchi
PDF
今更聞けない? Androidのテストのいろは
by
Hiroshi Kikuchi
PDF
テストコードをアプリケーションコードと同じ階層に置きたい
by
Hiroshi Kikuchi
PDF
KotlinJSって正直どうなん
by
Hiroshi Kikuchi
PDF
なるべくコードを書かないAndroid開発
by
Hiroshi Kikuchi
PDF
モバイルアプリ開発をグッと楽にするKotlinの便利なところ3選
by
Hiroshi Kikuchi
PDF
Androidの世界を離れて異文化留学してみた
by
Hiroshi Kikuchi
PDF
新規Androidアプリ開発において何より大切なこと
by
Hiroshi Kikuchi
PDF
どうしてコードはレガシーになるのか
by
Hiroshi Kikuchi
PDF
Android Developer Toolsのバグを見つけて直してもらった話
by
Hiroshi Kikuchi
PDF
3分で作る Kotlin Friendly な API
by
Hiroshi Kikuchi
PPTX
開発チームにKotlinを導入した話
by
Hiroshi Kikuchi
PDF
Android thingsやってみた
by
Hiroshi Kikuchi
PDF
Designing Auto Generated Codes
by
Hiroshi Kikuchi
PPTX
Ideatter : Tech-on2011決勝でのプレゼン資料
by
Hiroshi Kikuchi
PPTX
C#でiPhone & Androidアプリ!
by
Hiroshi Kikuchi
画面状態を抽象化してテスタブル設計ライフを送ろう
by
Hiroshi Kikuchi
今更聞けない? Androidのテストのいろは
by
Hiroshi Kikuchi
テストコードをアプリケーションコードと同じ階層に置きたい
by
Hiroshi Kikuchi
KotlinJSって正直どうなん
by
Hiroshi Kikuchi
なるべくコードを書かないAndroid開発
by
Hiroshi Kikuchi
モバイルアプリ開発をグッと楽にするKotlinの便利なところ3選
by
Hiroshi Kikuchi
Androidの世界を離れて異文化留学してみた
by
Hiroshi Kikuchi
新規Androidアプリ開発において何より大切なこと
by
Hiroshi Kikuchi
どうしてコードはレガシーになるのか
by
Hiroshi Kikuchi
Android Developer Toolsのバグを見つけて直してもらった話
by
Hiroshi Kikuchi
3分で作る Kotlin Friendly な API
by
Hiroshi Kikuchi
開発チームにKotlinを導入した話
by
Hiroshi Kikuchi
Android thingsやってみた
by
Hiroshi Kikuchi
Designing Auto Generated Codes
by
Hiroshi Kikuchi
Ideatter : Tech-on2011決勝でのプレゼン資料
by
Hiroshi Kikuchi
C#でiPhone & Androidアプリ!
by
Hiroshi Kikuchi
Recently uploaded
PDF
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
PDF
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
by
Evolve LLC.
PPTX
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
by
Tasuku Takahashi
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
PDF
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
by
Evolve LLC.
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
by
Tasuku Takahashi
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
JUnit5とAndroidのテスト
1.
JUnit5とAndroidのテスト @kikuchy
2.
Who? @kikuchy 菊池紘 株式会社Diverse (ミクシィグループ) 今月からAndroidエンジニアに復帰しました
3.
JUnit5でAndroidのテストをする
5.
できませんでした
6.
以上
7.
以上
8.
JUnit5の便利機能をなるべくAndroidがらみ のテストで使う @kikuchy
10.
JUnit5とは 言わずと知れたJavaのテストフレームワークの最新版 10年以上メジャーアップデートしていなかったらしい 機能がモジュール化されている そのためにJUnit4から全部書き直したらしい Java8以降をターゲットにしている ラムダ式、Interfaceのデフォルト実装などを使う部分がある JUnit4以上の使い勝手の良さ
11.
Androidアプリケーションモジュールに JUnit5を使おうとすると
12.
JUnit5とAndroid Gradle Pluginの相性 JUnit
platform gralde pluginは java プラグインを要求する ソース見たら真っ先に自動でapply してた Android Gradle Pluginは java プラグインと共存できない java プラグインが使用されていると前ページのエラー発生 どちらかがなんとかしてくれないと多分無理 きっとTest Support Libraryがどうにかしてくれる コンソールランチャーとか持ち出せば現時点でもどうにかなる かも?
14.
JavaライブラリモジュールでJUnit5を使う
15.
// プロジェクトルート or
Javaライブラリモジュールのbuild.gradle buildscript { repositories { mavenCentral() } dependencies { classpath 'org.junit.platform:junit -platform-gradle-plugin:1.0.0' } } // Javaライブラリモジュールのbuild.gradle apply plugin: 'java-library' apply plugin: 'org.junit.platform.gradle.plugin'
16.
//Javaライブラリモジュールのbuild.gradle dependencies { // 最低限この2つがあればいい testCompile
"org.junit.jupiter: junit-jupiter-api:5.0.0" testRuntime "org.junit.jupiter: junit-jupiter-engine:5.0.0" }
17.
public class CalcTest
{ @Test void test() { Calc c = new Calc(); assertEquals(3, c.calc(1, 2)); } }
19.
Gradle Console :lib:junitPlatformTest Test run
finished after 89 ms [ 2 containers found ] [ 0 containers skipped ] [ 2 containers started ] [ 0 containers aborted ] [ 2 containers successful ] [ 0 containers failed ] [ 1 tests found ] [ 0 tests skipped ] [ 1 tests started ] [ 0 tests aborted ] [ 1 tests successful ] [ 0 tests failed ] BUILD SUCCESSFUL in 2s
21.
JUnit5の何がいいのか
22.
パラメタライズドテストを簡単に書ける 同じロジックに対して、テストデータだけを変更して複数のテスト を行う手法 よくやるので簡単にできて欲しい JUnit4でもできるけれど簡単になった テストランナーの追加とか必要だった アノテーション付けるだけでよくなった まだExperimentalなのでAPIが変わっても文句は言えない
23.
//JUnit4 @RunWith(Theories.class) public class HogeTest
{ @DataPoints public static int[] VALUE_SOURCE = { 1, 2, 3 }; @Theory public void testWithValueSource(int argument) { assertNotNull(argument); } } // JUnit5 @ParameterizedTest @ValueSource(ints = { 1, 2, 3 }) void testWithValueSource(int argument) { assertNotNull(argument); }
24.
テストケースに欲しい値を注入できる Mockitoで作ったモックを引数から入れるサンプルが最高 他にもアノテーション見て色々できたりしそう @ExtendWith(MockitoExtension.class) class MyMockitoTest { @BeforeEach void
init(@Mock Person person) { when(person.getName()).thenReturn("Dilbert"); } @Test void simpleTestWithInjectedMock(@Mock Person person) { assertEquals("Dilbert", person.getName()); } }
25.
アノテーションの名称がわかりやすい @Before / @After ‑> @BeforeEach /
@AfterEach 各テストケース実行前後に呼ばれるやつ @BeforeClass / @AfterClass ‑> @BeforeAll / @AfterAll 各テストクラス実行前後に呼ばれるやつ 地味に嬉しいやつ
26.
テストケースに任意の名称を付けられる @DisplayName() で全角文字でも記号でも指定可能 「メソッド名が全角文字」というのが宗派的に無理な人が居る職場でも 安心 @DisplayName("A special test
case") class DisplayNameDemo { @Test @DisplayName("Custom test name containing spaces") void testWithDisplayNameContainingSpaces() { } @Test @DisplayName("╯°□°)╯") void testWithDisplayNameContainingSpecialCharacters() } }
27.
Androidのテストに使用できるようになった 暁にはぜひ使いたいですね
28.
発表後の追記 @ogapants さんに、AndroidアプリケーションモジュールでもJUnit5 を使えるようにするプラグインの存在を教えていただきました! https://github.com/aurae/android‑junit5 ※ Kotlinで書いたテストは検出してくれないみたい・・・?
Download