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
Android Testing Bootcamp #5 Hands-On Vol.2
Search
Fumihiko Shiroyama
October 28, 2016
Technology
3
120
Android Testing Bootcamp #5 Hands-On Vol.2
Android Testing Bootcamp #5
Hands-On Vol.2
Fumihiko Shiroyama
October 28, 2016
Tweet
Share
More Decks by Fumihiko Shiroyama
See All by Fumihiko Shiroyama
The world of Android wireless communications without Internet
srym
1
120
AWS Device FarmとCircleCIでAndroidのUIテストを自動化しよう
srym
1
4.8k
Spring BootをKotlinで作成しAmazon Elastic Container Service (ECS) で稼働させる
srym
6
1.8k
iOSDC_2019_DeviceFarm.pdf
srym
8
19k
世界で戦うエンジニアになるために_公開用.pdf
srym
18
45k
Unit Testing in a Nutshell - DroidKaigi 2018
srym
11
15k
Clean Architecture & TDD
srym
1
3.6k
はやい・やすい・うまい!スタートアップでも使える Retrofit + RxJava で瞬間APIクッキングレシピ
srym
2
570
I/O 2017 Short Report
srym
0
290
Other Decks in Technology
See All in Technology
Azure Pipelinesを使用したCICDベースラインアーキテクチャ実践
yuriemori
0
190
20240725 LLMによるDXのビジョンと、今何からやるべきか @Azure OpenAI Service Dev Day
nrryuya
3
1.2k
累計ダウンロード数1億8000万を超えるアプリケーションプラットフォームのレガシーシステム脱却とモダン化への道
kmitsuhashi
0
120
ソフトウェアエンジニアリングの知見を活かして データ基盤をいい感じにする on Snowflake [MIERUNE BBQ #10]
mtpooh
2
150
技術負債による事業の失敗はなぜ起こるのか / Why do business failures due to technical debt occur?
i35_267
0
190
ペパボのオブザーバビリティ研修2024 説明資料
kesompochy
0
1.1k
大規模ドラレコデータ収集・機械学習基盤を支える AWS CDK 〜導入・運用事例紹介〜
pemugi
0
110
RAGのサービスをリリースして1年3ヶ月が経ちました
segavvy
4
950
クラウド利用者の「責任」をどう果たす?AWSセキュリティ対策のススメ #AWSSummit
hiashisan
0
280
データベース研修 DB基礎【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
210
プレイドにおけるDatadog APMの活用方法
plaidtech
PRO
2
120
AOAI Dev Day LLMシステム開発 Tips集
hirosatogamo
15
3.8k
Featured
See All Featured
Side Projects
sachag
451
42k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
20
7.2k
How STYLIGHT went responsive
nonsquared
93
5k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
What's new in Ruby 2.0
geeforr
338
31k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Building a Modern Day E-commerce SEO Strategy
aleyda
25
6.7k
A Philosophy of Restraint
colly
200
16k
The Pragmatic Product Professional
lauravandoore
29
6.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
149
45k
Docker and Python
trallard
37
2.9k
Transcript
"OESPJE5FTUJOH#PPUDBNQ )BOET0O7PM "OESPJE@5FTUJOH@#$
w "OESPJE5FTUJOH#PPUDBNQ(SPVQ w IUUQBOESPJEUFTUJOH CPPUDBNQDPOOQBTTDPN w "OESPJE5FTUJOH#PPUDBNQ w IUUQBOESPJEUFTUJOH CPPUDBNQDPOOQBTTDPNFWFOU
ࠓճར༻͢Δڥ
w "OESPJE4UVEJP w IUUQTHJUIVCDPNTSZN5FTU)BOET0O w HJUDMPOFHJU!HJUIVCDPNTSZN 5FTU)BOET0OHJU w HJUDPNBTUFSྫϒϥϯν w
HJUDPBOTXFSղྫϒϥϯν
ΞδΣϯμ
w લճͷ͓͞Β͍ w IUUQTTQFBLFSEFDLDPNTSZNBOESPJE UFTUJOHCPPUDBNQOVNCFSIBOETPO w &TQSFTTP w 3PCPMFDUSJD w
IUUQTTQFBLFSEFDLDPNTSZN SPCPMFDUSJDEPUGPSCFHJOOFST
લճͷ͓͞Β͍
લճͷ͓͞Β͍ ࢿྉࢀর
&TQSFTTP
w (PPHMFެࣜ6*ςετϑϨʔϜϫʔΫ w IUUQTEFWFMPQFSBOESPJEDPNUSBJOJOH UFTUJOHVJUFTUJOHFTQSFTTPUFTUJOHIUNM
CVJMEHSBEMF dependencies { // Other dependencies ... androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2' }
CVJMEHSBEMF dependencies { // Other dependencies ... androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2' }
࠷ۙͷڥͰσϑΥϧτͰ༗ޮʂ
BOESPJE5FTU
BOESPJE5FTU ͜͜ʹςετΛॻ͍͍ͯ͘
࡞๏
@RunWith(AndroidJUnit4.class) public class MainActivityTest { @Rule public ActivityTestRule<MainActivity> mActivityTestRule
= new ActivityTestRule<>(MainActivity.class); @Test public void TextViewʹදࣔ͞Ε͍ͯΔจࣈྻΛݕূ͢ΔςετίʔυΛॻ͜͏() { onView(withId(R.id.text)).check(ViewAssertions.matches(withText("Hello World!"))); } }
@RunWith(AndroidJUnit4.class) public class MainActivityTest { @Rule public ActivityTestRule<MainActivity> mActivityTestRule
= new ActivityTestRule<>(MainActivity.class); @Test public void TextViewʹදࣔ͞Ε͍ͯΔจࣈྻΛݕূ͢ΔςετίʔυΛॻ͜͏() { onView(withId(R.id.text)).check(ViewAssertions.matches(withText("Hello World!"))); } }
@RunWith(AndroidJUnit4.class) public class MainActivityTest { @Rule public ActivityTestRule<MainActivity> mActivityTestRule
= new ActivityTestRule<>(MainActivity.class); @Test public void TextViewʹදࣔ͞Ε͍ͯΔจࣈྻΛݕূ͢ΔςετίʔυΛॻ͜͏() { onView(withId(R.id.text)).check(ViewAssertions.matches(withText("Hello World!"))); } } ىಈ͢Δ"DUJWJUZ
@RunWith(AndroidJUnit4.class) public class MainActivityTest { @Rule public ActivityTestRule<MainActivity> mActivityTestRule
= new ActivityTestRule<>(MainActivity.class); @Test public void TextViewʹදࣔ͞Ε͍ͯΔจࣈྻΛݕূ͢ΔςετίʔυΛॻ͜͏() { onView(withId(R.id.text)).check(ViewAssertions.matches(withText("Hello World!"))); } } ࣗಈىಈ
@RunWith(AndroidJUnit4.class) public class MainActivityTest { @Rule public ActivityTestRule<MainActivity> mActivityTestRule
= new ActivityTestRule<>(MainActivity.class, false, false); @Test public void ActivityͷىಈλΠϛϯάΛ੍ޚ͍ͨ͠߹() { mActivityTestRule.launchActivity(new Intent()); } } ࣗಈىಈͤͨ͘͞ͳ͍߹
@RunWith(AndroidJUnit4.class) public class MainActivityTest { @Rule public ActivityTestRule<MainActivity> mActivityTestRule
= new ActivityTestRule<>(MainActivity.class, false, false); @Test public void ActivityͷىಈλΠϛϯάΛ੍ޚ͍ͨ͠߹() { mActivityTestRule.launchActivity(new Intent()); } }
@RunWith(AndroidJUnit4.class) public class MainActivityTest { @Rule public ActivityTestRule<MainActivity> mActivityTestRule
= new ActivityTestRule<>(MainActivity.class, false, false); @Test public void ActivityͷىಈλΠϛϯάΛ੍ޚ͍ͨ͠߹() { mActivityTestRule.launchActivity(new Intent()); } }
جຊ
w PO7JFX XJUI*E 3JEUFYU DIFDL NBUDIFT XJUI5 FYU )FMMP8PSME
w PO7JFX BMM0G XJUI*E 3JECVUUPO XJUI5FYU $-*$, QFSGPSN DMJDL
&TQSFTTP w PO7JFX w PO%BUB w DMPTF4PGU,FZCPBSE w QSFTT#BDL
7JFX.BUDIFST w IBT$POUFOU%FTDSJQUJPO w XJUI1BSFOU .BUDIFS w XJUI$IJME
.BUDIFS w IBT&SSPS5FYU w IBT'PDVT w IBT4JCMJOH w JT$IFDLFE w JT$MJDLBCMF w JT&OBCMFE w XJUI5FYU
7JFX*OUFSBDUJPO w DIFDL w QFSGPSN
7JFX"DUJPOT w DMJDL w EPVCMF$MJDL w MPOH$MJDL
w QSFTT#BDL w QSFTT.FOV,FZ w TXJQF%PXO TXJQF6Q w TXJQF-FGU TXJQF3JHIU w UZQF5FYU
ϋϯζΦϯ w IFMMPFTQSFTTPͷ.BJO"DUJWJUZ5FTUΛ࣮ͯͩ͘͠ ͍͞ʂ
ϋϯζΦϯ w BQQ-PHJO"DUJWJUZ5FTUΛ࣮͍ͯͩ͘͠͞ʂ
3PCPMFDUSJD
3PCPMFDUSJD ࢿྉࢀর