SlideShare a Scribd company logo

テストを書いてGradleプラグインの開発効率を改善しよう

Android Test Night #3 の発表資料です。 テストを書いてGradleプラグインの開発効率を改善しましょう。

1 of 38
Download to read offline
Copyright © DeNA Co.,Ltd. All Rights Reserved.
9 3 19 8 (
) ( 0
CDE
2 .3 A
1 , # / #
Copyright © DeNA Co.,Ltd. All Rights Reserved.
n
•
• 8
• 2 3
Copyright © DeNA Co.,Ltd. All Rights Reserved.
n S
n P
-1 1F
0D D: 1 K Y P
8 1 : D 2D
1 D
I D2 , G D 2D 1 . D
/ 1 H
Copyright © DeNA Co.,Ltd. All Rights Reserved.
Copyright © DeNA Co.,Ltd. All Rights Reserved.
Copyright © DeNA Co.,Ltd. All Rights Reserved.
. ( ) .
./gradlew uploadArchives

Recommended

JavaScript, React Native and Performance at react-europe 2016
JavaScript, React Native and Performance at react-europe 2016JavaScript, React Native and Performance at react-europe 2016
JavaScript, React Native and Performance at react-europe 2016Tadeu Zagallo
 
Makefiles in 2020 — Why they still matter
Makefiles in 2020 — Why they still matterMakefiles in 2020 — Why they still matter
Makefiles in 2020 — Why they still matterSimon Brüggen
 
Develop Android app using Golang
Develop Android app using GolangDevelop Android app using Golang
Develop Android app using GolangSeongJae Park
 
KDDIとCICDの歩み Tech-on Meet Up #1
KDDIとCICDの歩み Tech-on Meet Up #1KDDIとCICDの歩み Tech-on Meet Up #1
KDDIとCICDの歩み Tech-on Meet Up #1Tsubasa Hirota
 
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis OverviewLeo Lorieri
 
OpenChain AutomotiveWG(OSS license tools()
OpenChain AutomotiveWG(OSS license tools()OpenChain AutomotiveWG(OSS license tools()
OpenChain AutomotiveWG(OSS license tools()Yuichi Kusakabe
 

More Related Content

Similar to テストを書いてGradleプラグインの開発効率を改善しよう

LISA Qooxdoo Tutorial Handouts
LISA Qooxdoo Tutorial HandoutsLISA Qooxdoo Tutorial Handouts
LISA Qooxdoo Tutorial HandoutsTobias Oetiker
 
EWD 3 Training Course Part 22: Traversing Documents using DocumentNode Objects
EWD 3 Training Course Part 22: Traversing Documents using DocumentNode ObjectsEWD 3 Training Course Part 22: Traversing Documents using DocumentNode Objects
EWD 3 Training Course Part 22: Traversing Documents using DocumentNode ObjectsRob Tweed
 
Neoito — React 101
Neoito — React 101Neoito — React 101
Neoito — React 101Neoito
 
Green Marl 最新お役立ちTIPS
Green Marl 最新お役立ちTIPSGreen Marl 最新お役立ちTIPS
Green Marl 最新お役立ちTIPSTamakoshi Hironori
 
Test Engineering on Mobage
Test Engineering on MobageTest Engineering on Mobage
Test Engineering on MobageMasaki Nakagawa
 
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808Cisco DevNet
 
AngularJS in practice
AngularJS in practiceAngularJS in practice
AngularJS in practicejhoguet
 
Getting the Most From Today's Java Tooling With Neo4j
Getting the Most From Today's Java Tooling With Neo4jGetting the Most From Today's Java Tooling With Neo4j
Getting the Most From Today's Java Tooling With Neo4jNeo4j
 
GAE/Go 選定から活用まで
GAE/Go 選定から活用までGAE/Go 選定から活用まで
GAE/Go 選定から活用までHiroyoshi Houchi
 
DMCA #25: Jenkins - Docker & Android: Comment Docker peu faciliter la créatio...
DMCA #25: Jenkins - Docker & Android: Comment Docker peu faciliter la créatio...DMCA #25: Jenkins - Docker & Android: Comment Docker peu faciliter la créatio...
DMCA #25: Jenkins - Docker & Android: Comment Docker peu faciliter la créatio...Olivier Destrebecq
 
EWD 3 Training Course Part 20: The DocumentNode Object
EWD 3 Training Course Part 20: The DocumentNode ObjectEWD 3 Training Course Part 20: The DocumentNode Object
EWD 3 Training Course Part 20: The DocumentNode ObjectRob Tweed
 
Lesson Learned from Using Docker Swarm at Pronto
Lesson Learned from Using Docker Swarm at ProntoLesson Learned from Using Docker Swarm at Pronto
Lesson Learned from Using Docker Swarm at ProntoKan Ouivirach, Ph.D.
 
Docker and Your Path to a Better Staging Environment - webinar by Gil Tayar
Docker and Your Path to a Better Staging Environment - webinar by Gil TayarDocker and Your Path to a Better Staging Environment - webinar by Gil Tayar
Docker and Your Path to a Better Staging Environment - webinar by Gil TayarApplitools
 
Building native Android applications with Mirah and Pindah
Building native Android applications with Mirah and PindahBuilding native Android applications with Mirah and Pindah
Building native Android applications with Mirah and PindahNick Plante
 
Jenkins entwined with deployment and pragmatism
Jenkins entwined with deployment and pragmatismJenkins entwined with deployment and pragmatism
Jenkins entwined with deployment and pragmatismEric Ritchie
 
GDG Mediterranean Dev Fest Code lab #DevFestMed15 da android ad android wear ...
GDG Mediterranean Dev Fest Code lab #DevFestMed15 da android ad android wear ...GDG Mediterranean Dev Fest Code lab #DevFestMed15 da android ad android wear ...
GDG Mediterranean Dev Fest Code lab #DevFestMed15 da android ad android wear ...Bruno Salvatore Belluccia
 

Similar to テストを書いてGradleプラグインの開発効率を改善しよう (20)

LISA Qooxdoo Tutorial Handouts
LISA Qooxdoo Tutorial HandoutsLISA Qooxdoo Tutorial Handouts
LISA Qooxdoo Tutorial Handouts
 
EWD 3 Training Course Part 22: Traversing Documents using DocumentNode Objects
EWD 3 Training Course Part 22: Traversing Documents using DocumentNode ObjectsEWD 3 Training Course Part 22: Traversing Documents using DocumentNode Objects
EWD 3 Training Course Part 22: Traversing Documents using DocumentNode Objects
 
Neoito — React 101
Neoito — React 101Neoito — React 101
Neoito — React 101
 
Green Marl 最新お役立ちTIPS
Green Marl 最新お役立ちTIPSGreen Marl 最新お役立ちTIPS
Green Marl 最新お役立ちTIPS
 
Oracle GoldenGate
Oracle GoldenGateOracle GoldenGate
Oracle GoldenGate
 
Zero To Dojo
Zero To DojoZero To Dojo
Zero To Dojo
 
Test Engineering on Mobage
Test Engineering on MobageTest Engineering on Mobage
Test Engineering on Mobage
 
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
Golang 101 for IT-Pros - Cisco Live Orlando 2018 - DEVNET-1808
 
AngularJS in practice
AngularJS in practiceAngularJS in practice
AngularJS in practice
 
Getting the Most From Today's Java Tooling With Neo4j
Getting the Most From Today's Java Tooling With Neo4jGetting the Most From Today's Java Tooling With Neo4j
Getting the Most From Today's Java Tooling With Neo4j
 
GAE/Go 選定から活用まで
GAE/Go 選定から活用までGAE/Go 選定から活用まで
GAE/Go 選定から活用まで
 
DMCA #25: Jenkins - Docker & Android: Comment Docker peu faciliter la créatio...
DMCA #25: Jenkins - Docker & Android: Comment Docker peu faciliter la créatio...DMCA #25: Jenkins - Docker & Android: Comment Docker peu faciliter la créatio...
DMCA #25: Jenkins - Docker & Android: Comment Docker peu faciliter la créatio...
 
EWD 3 Training Course Part 20: The DocumentNode Object
EWD 3 Training Course Part 20: The DocumentNode ObjectEWD 3 Training Course Part 20: The DocumentNode Object
EWD 3 Training Course Part 20: The DocumentNode Object
 
Lesson Learned from Using Docker Swarm at Pronto
Lesson Learned from Using Docker Swarm at ProntoLesson Learned from Using Docker Swarm at Pronto
Lesson Learned from Using Docker Swarm at Pronto
 
CI-CD WITH GITLAB WORKFLOW
CI-CD WITH GITLAB WORKFLOWCI-CD WITH GITLAB WORKFLOW
CI-CD WITH GITLAB WORKFLOW
 
Docker and Your Path to a Better Staging Environment - webinar by Gil Tayar
Docker and Your Path to a Better Staging Environment - webinar by Gil TayarDocker and Your Path to a Better Staging Environment - webinar by Gil Tayar
Docker and Your Path to a Better Staging Environment - webinar by Gil Tayar
 
Building native Android applications with Mirah and Pindah
Building native Android applications with Mirah and PindahBuilding native Android applications with Mirah and Pindah
Building native Android applications with Mirah and Pindah
 
Jenkins entwined with deployment and pragmatism
Jenkins entwined with deployment and pragmatismJenkins entwined with deployment and pragmatism
Jenkins entwined with deployment and pragmatism
 
GDG Mediterranean Dev Fest Code lab #DevFestMed15 da android ad android wear ...
GDG Mediterranean Dev Fest Code lab #DevFestMed15 da android ad android wear ...GDG Mediterranean Dev Fest Code lab #DevFestMed15 da android ad android wear ...
GDG Mediterranean Dev Fest Code lab #DevFestMed15 da android ad android wear ...
 
Introduction to CMake
Introduction to CMakeIntroduction to CMake
Introduction to CMake
 

More from Shunsuke Maeda

私とOSS活動とPerl
私とOSS活動とPerl私とOSS活動とPerl
私とOSS活動とPerlShunsuke Maeda
 
外部環境への依存をテストする
外部環境への依存をテストする外部環境への依存をテストする
外部環境への依存をテストするShunsuke Maeda
 
iOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進めるiOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進めるShunsuke Maeda
 
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介Shunsuke Maeda
 
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化Shunsuke Maeda
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすShunsuke Maeda
 

More from Shunsuke Maeda (7)

私とOSS活動とPerl
私とOSS活動とPerl私とOSS活動とPerl
私とOSS活動とPerl
 
外部環境への依存をテストする
外部環境への依存をテストする外部環境への依存をテストする
外部環境への依存をテストする
 
DroidKaigi_devicefarm
DroidKaigi_devicefarmDroidKaigi_devicefarm
DroidKaigi_devicefarm
 
iOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進めるiOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進める
 
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介
 
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
 

Recently uploaded

Automate Your Master Data Processes for Shared Service Center Excellence
Automate Your Master Data Processes for Shared Service Center ExcellenceAutomate Your Master Data Processes for Shared Service Center Excellence
Automate Your Master Data Processes for Shared Service Center ExcellencePrecisely
 
Bit N Build Poland
Bit N Build PolandBit N Build Poland
Bit N Build PolandGDSC PJATK
 
"AIRe - AI Reliability Engineering", Denys Vasyliev
"AIRe - AI Reliability Engineering", Denys Vasyliev"AIRe - AI Reliability Engineering", Denys Vasyliev
"AIRe - AI Reliability Engineering", Denys VasylievFwdays
 
Campotel: Telecommunications Infra and Network Builder - Company Profile
Campotel: Telecommunications Infra and Network Builder - Company ProfileCampotel: Telecommunications Infra and Network Builder - Company Profile
Campotel: Telecommunications Infra and Network Builder - Company ProfileCampotelPhilippines
 
Are Human-generated Demonstrations Necessary for In-context Learning?
Are Human-generated Demonstrations Necessary for In-context Learning?Are Human-generated Demonstrations Necessary for In-context Learning?
Are Human-generated Demonstrations Necessary for In-context Learning?MENGSAYLOEM1
 
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdfIntroducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdfSafe Software
 
Automation Ops Series: Session 1 - Introduction and setup DevOps for UiPath p...
Automation Ops Series: Session 1 - Introduction and setup DevOps for UiPath p...Automation Ops Series: Session 1 - Introduction and setup DevOps for UiPath p...
Automation Ops Series: Session 1 - Introduction and setup DevOps for UiPath p...DianaGray10
 
AI Act & Standardization: UNINFO involvement
AI Act & Standardization: UNINFO involvementAI Act & Standardization: UNINFO involvement
AI Act & Standardization: UNINFO involvementMimmo Squillace
 
Building Products That Think- Bhaskaran Srinivasan & Ashish Gupta
Building Products That Think- Bhaskaran Srinivasan & Ashish GuptaBuilding Products That Think- Bhaskaran Srinivasan & Ashish Gupta
Building Products That Think- Bhaskaran Srinivasan & Ashish GuptaISPMAIndia
 
Leveraging SLF4j for Effective Logging in IBM App Connect Enterprise.docx
Leveraging SLF4j for Effective Logging in IBM App Connect Enterprise.docxLeveraging SLF4j for Effective Logging in IBM App Connect Enterprise.docx
Leveraging SLF4j for Effective Logging in IBM App Connect Enterprise.docxVotarikari Shravan
 
From Challenger to Champion: How SpiraPlan Outperforms JIRA+Plugins
From Challenger to Champion: How SpiraPlan Outperforms JIRA+PluginsFrom Challenger to Champion: How SpiraPlan Outperforms JIRA+Plugins
From Challenger to Champion: How SpiraPlan Outperforms JIRA+PluginsInflectra
 
Bringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptxBringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptxMaarten Balliauw
 
Breaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI TechnologyBreaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI TechnologySafe Software
 
H3 Platform CXL Solution_Memory Fabric Forum.pptx
H3 Platform CXL Solution_Memory Fabric Forum.pptxH3 Platform CXL Solution_Memory Fabric Forum.pptx
H3 Platform CXL Solution_Memory Fabric Forum.pptxMemory Fabric Forum
 
21ST CENTURY LITERACY FROM TRADITIONAL TO MODERN
21ST CENTURY LITERACY FROM TRADITIONAL TO MODERN21ST CENTURY LITERACY FROM TRADITIONAL TO MODERN
21ST CENTURY LITERACY FROM TRADITIONAL TO MODERNRonnelBaroc
 
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?GleecusTechlabs1
 
Dynamical systems simulation in Python for science and engineering
Dynamical systems simulation in Python for science and engineeringDynamical systems simulation in Python for science and engineering
Dynamical systems simulation in Python for science and engineeringMassimo Talia
 
2024 February Patch Tuesday
2024 February Patch Tuesday2024 February Patch Tuesday
2024 February Patch TuesdayIvanti
 
"Running Open-Source LLM models on Kubernetes", Volodymyr Tsap
"Running Open-Source LLM models on Kubernetes",  Volodymyr Tsap"Running Open-Source LLM models on Kubernetes",  Volodymyr Tsap
"Running Open-Source LLM models on Kubernetes", Volodymyr TsapFwdays
 

Recently uploaded (20)

Automate Your Master Data Processes for Shared Service Center Excellence
Automate Your Master Data Processes for Shared Service Center ExcellenceAutomate Your Master Data Processes for Shared Service Center Excellence
Automate Your Master Data Processes for Shared Service Center Excellence
 
Bit N Build Poland
Bit N Build PolandBit N Build Poland
Bit N Build Poland
 
"AIRe - AI Reliability Engineering", Denys Vasyliev
"AIRe - AI Reliability Engineering", Denys Vasyliev"AIRe - AI Reliability Engineering", Denys Vasyliev
"AIRe - AI Reliability Engineering", Denys Vasyliev
 
Campotel: Telecommunications Infra and Network Builder - Company Profile
Campotel: Telecommunications Infra and Network Builder - Company ProfileCampotel: Telecommunications Infra and Network Builder - Company Profile
Campotel: Telecommunications Infra and Network Builder - Company Profile
 
Are Human-generated Demonstrations Necessary for In-context Learning?
Are Human-generated Demonstrations Necessary for In-context Learning?Are Human-generated Demonstrations Necessary for In-context Learning?
Are Human-generated Demonstrations Necessary for In-context Learning?
 
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdfIntroducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
Introducing the New FME Community Webinar - Feb 21, 2024 (2).pdf
 
Automation Ops Series: Session 1 - Introduction and setup DevOps for UiPath p...
Automation Ops Series: Session 1 - Introduction and setup DevOps for UiPath p...Automation Ops Series: Session 1 - Introduction and setup DevOps for UiPath p...
Automation Ops Series: Session 1 - Introduction and setup DevOps for UiPath p...
 
AI Act & Standardization: UNINFO involvement
AI Act & Standardization: UNINFO involvementAI Act & Standardization: UNINFO involvement
AI Act & Standardization: UNINFO involvement
 
Building Products That Think- Bhaskaran Srinivasan & Ashish Gupta
Building Products That Think- Bhaskaran Srinivasan & Ashish GuptaBuilding Products That Think- Bhaskaran Srinivasan & Ashish Gupta
Building Products That Think- Bhaskaran Srinivasan & Ashish Gupta
 
Leveraging SLF4j for Effective Logging in IBM App Connect Enterprise.docx
Leveraging SLF4j for Effective Logging in IBM App Connect Enterprise.docxLeveraging SLF4j for Effective Logging in IBM App Connect Enterprise.docx
Leveraging SLF4j for Effective Logging in IBM App Connect Enterprise.docx
 
From Challenger to Champion: How SpiraPlan Outperforms JIRA+Plugins
From Challenger to Champion: How SpiraPlan Outperforms JIRA+PluginsFrom Challenger to Champion: How SpiraPlan Outperforms JIRA+Plugins
From Challenger to Champion: How SpiraPlan Outperforms JIRA+Plugins
 
Bringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptxBringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptx
 
Breaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI TechnologyBreaking Barriers & Leveraging the Latest Developments in AI Technology
Breaking Barriers & Leveraging the Latest Developments in AI Technology
 
H3 Platform CXL Solution_Memory Fabric Forum.pptx
H3 Platform CXL Solution_Memory Fabric Forum.pptxH3 Platform CXL Solution_Memory Fabric Forum.pptx
H3 Platform CXL Solution_Memory Fabric Forum.pptx
 
21ST CENTURY LITERACY FROM TRADITIONAL TO MODERN
21ST CENTURY LITERACY FROM TRADITIONAL TO MODERN21ST CENTURY LITERACY FROM TRADITIONAL TO MODERN
21ST CENTURY LITERACY FROM TRADITIONAL TO MODERN
 
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?
Unlocking the Cloud's True Potential: Why Multitenancy Is The Key?
 
Dynamical systems simulation in Python for science and engineering
Dynamical systems simulation in Python for science and engineeringDynamical systems simulation in Python for science and engineering
Dynamical systems simulation in Python for science and engineering
 
2024 February Patch Tuesday
2024 February Patch Tuesday2024 February Patch Tuesday
2024 February Patch Tuesday
 
5 Tech Trend to Notice in ESG Landscape- 47Billion
5 Tech Trend to Notice in ESG Landscape- 47Billion5 Tech Trend to Notice in ESG Landscape- 47Billion
5 Tech Trend to Notice in ESG Landscape- 47Billion
 
"Running Open-Source LLM models on Kubernetes", Volodymyr Tsap
"Running Open-Source LLM models on Kubernetes",  Volodymyr Tsap"Running Open-Source LLM models on Kubernetes",  Volodymyr Tsap
"Running Open-Source LLM models on Kubernetes", Volodymyr Tsap
 

テストを書いてGradleプラグインの開発効率を改善しよう

  • 1. Copyright © DeNA Co.,Ltd. All Rights Reserved. 9 3 19 8 ( ) ( 0 CDE 2 .3 A 1 , # / #
  • 2. Copyright © DeNA Co.,Ltd. All Rights Reserved. n • • 8 • 2 3
  • 3. Copyright © DeNA Co.,Ltd. All Rights Reserved. n S n P -1 1F 0D D: 1 K Y P 8 1 : D 2D 1 D I D2 , G D 2D 1 . D / 1 H
  • 4. Copyright © DeNA Co.,Ltd. All Rights Reserved.
  • 5. Copyright © DeNA Co.,Ltd. All Rights Reserved.
  • 6. Copyright © DeNA Co.,Ltd. All Rights Reserved. . ( ) . ./gradlew uploadArchives
  • 7. Copyright © DeNA Co.,Ltd. All Rights Reserved. . ( ) . ./gradlew helloWorld ¥ --refresh-dependencies
  • 8. Copyright © DeNA Co.,Ltd. All Rights Reserved. . ( ) . Assemble
  • 9. Copyright © DeNA Co.,Ltd. All Rights Reserved. . ( ) .
  • 10. Copyright © DeNA Co.,Ltd. All Rights Reserved. . ( ) .
  • 11. Copyright © DeNA Co.,Ltd. All Rights Reserved.
  • 12. Copyright © DeNA Co.,Ltd. All Rights Reserved. ( )
  • 13. Copyright © DeNA Co.,Ltd. All Rights Reserved. . ( ) . ( ) ./gradlew install
  • 14. Copyright © DeNA Co.,Ltd. All Rights Reserved. . ( ) . ( ) ./gradlew helloWorld
  • 15. Copyright © DeNA Co.,Ltd. All Rights Reserved. . ( ) . ) Maven ( (
  • 16. Copyright © DeNA Co.,Ltd. All Rights Reserved. . ( ) . ) ( Assemble )
  • 17. Copyright © DeNA Co.,Ltd. All Rights Reserved. . ( ) . ( )
  • 18. Copyright © DeNA Co.,Ltd. All Rights Reserved. ( )
  • 19. Copyright © DeNA Co.,Ltd. All Rights Reserved.
  • 20. Copyright © DeNA Co.,Ltd. All Rights Reserved.
  • 21. Copyright © DeNA Co.,Ltd. All Rights Reserved. dependencies { testImplementation gradleTestKit() }
  • 22. Copyright © DeNA Co.,Ltd. All Rights Reserved.
  • 23. Copyright © DeNA Co.,Ltd. All Rights Reserved. G I # : .2 / - - - - - - 1 .8- 0: . / 8:0 - ::/ /:0 2./ / 2 1 / 2 - 1 2 /- 28
  • 24. Copyright © DeNA Co.,Ltd. All Rights Reserved. when: def result = GradleRunner.create() .withProjectDir(testProjectDir) .withArguments(“helloWorld”) .build() then: result.output.contains(‘Hello world!’) result.task(“:helloWorld”).outcome == SUCCESS ) / ( (
  • 25. Copyright © DeNA Co.,Ltd. All Rights Reserved. when: def result = GradleRunner.create() .withProjectDir(testProjectDir) .withArguments(“helloWorld”) .build() then: result.output.contains(‘Hello world!’) result.task(“:helloWorld”).outcome == SUCCESS ) / ( ( .
  • 26. Copyright © DeNA Co.,Ltd. All Rights Reserved. when: def result = GradleRunner.create() .withProjectDir(testProjectDir) .withArguments(“helloWorld”) .build() then: result.output.contains(‘Hello world!’) result.task(“:helloWorld”).outcome == SUCCESS ) / ( ( ./gradlew helloWorld
  • 27. Copyright © DeNA Co.,Ltd. All Rights Reserved. when: def result = GradleRunner.create() .withProjectDir(testProjectDir) .withArguments(“helloWorld”) .build() then: result.output.contains(‘Hello world!’) result.task(“:helloWorld”).outcome == SUCCESS ) / ( (
  • 28. Copyright © DeNA Co.,Ltd. All Rights Reserved. when: def result = GradleRunner.create() .withProjectDir(testProjectDir) .withArguments(“helloWorld”) .build() then: result.output.contains(‘Hello world!’) result.task(“:helloWorld”).outcome == SUCCESS ) / ( (
  • 29. Copyright © DeNA Co.,Ltd. All Rights Reserved. ./gradlew test
  • 30. Copyright © DeNA Co.,Ltd. All Rights Reserved. when: def result = GradleRunner.create() .withProjectDir(testProjectDir) .withArguments(“helloWorld”) .withGradleVersion(version) .build() where: version | _ “4.1” | _ “3.3” | _ ... “2.13” | _
  • 31. Copyright © DeNA Co.,Ltd. All Rights Reserved. . - 6 4 /2 3 / 153 / 4 4 /2 3 / 153 2/3 / /2 3 /3 6 4 /2 3 / 153 / 4 4 /2 3 / 153 2/3 / /2 3 /3 6 4 /2 3 / 153 / 4 4 /2 3 / 153 2/3 / /2 3 /3 6 4 /2 3 / 153 / 4 4 /2 3 / 153 2/3 / /2 3 /3 6 4 /2 3 / 153 / 4 4 /2 3 / 153 2/3 / /2 3 /3 3 /43 A
  • 32. Copyright © DeNA Co.,Ltd. All Rights Reserved. . - 6 4 /2 3 / 153 / 4 4 /2 3 / 153 2/3 / /2 3 /3 6 4 /2 3 / 153 / 4 4 /2 3 / 153 2/3 / /2 3 /3 6 4 /2 3 / 153 / 4 4 /2 3 / 153 2/3 / /2 3 /3 6 4 /2 3 / 153 / 4 4 /2 3 / 153 2/3 / /2 3 /3 6 4 /2 3 / 153 / 4 4 /2 3 / 153 2/3 / /2 3 /3 3 /43 A C ON M G D
  • 33. Copyright © DeNA Co.,Ltd. All Rights Reserved. when: def result = GradleRunner.create() .withProjectDir(testProjectDir) .withArguments(“helloWorld”, “--no-daemon”) .withGradleVersion(version) .build() . -
  • 34. Copyright © DeNA Co.,Ltd. All Rights Reserved. when: def result = GradleRunner.create() .withProjectDir(testProjectDir) .withArguments(“helloWorld”) .withGradleVersion(version) .withDebug(true) .build()
  • 35. Copyright © DeNA Co.,Ltd. All Rights Reserved. ( ) Java (Gradle Daemon) D
  • 36. Copyright © DeNA Co.,Ltd. All Rights Reserved. ( ) ( ) . n 33 R . - 1 - 3 - / / . 21 / 2 / /1/ : #
  • 37. Copyright © DeNA Co.,Ltd. All Rights Reserved. n . ) ( A D E
  • 38. Copyright © DeNA Co.,Ltd. All Rights Reserved. n S KS R G D n ( T G n ( ( n . )