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
Testing Android with Open Source
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Matthias Käppler
February 22, 2010
Programming
0
120
Testing Android with Open Source
Matthias Käppler
February 22, 2010
Tweet
Share
More Decks by Matthias Käppler
See All by Matthias Käppler
Going Reactive - An Architectural Journey
mttkay
11
25k
Reactive SoundCloud - Tackling complexity in large applications
mttkay
35
4.4k
Conquering concurrency - bringing the Reactive Extensions to the Android platform
mttkay
40
6.4k
Calculon - A Java DSL for Android functional testing
mttkay
1
340
Qype API - Lessons learned
mttkay
2
200
Hands on the Gradle
mttkay
1
230
Secure Web services with OAuth
mttkay
3
160
Other Decks in Programming
See All in Programming
「抽象に依存せよ」が分からなかった新卒1年目の私が Goのインターフェースと和解するまで
kurogenki
0
100
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.7k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
130
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
560
AI駆動開発の本音 〜Claude Code並列開発で見えたエンジニアの新しい役割〜
hisuzuya
4
500
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
550
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
170
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
690
Claude Code Skill入門
mayahoney
0
180
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
710
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
530
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
380
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
310
The Language of Interfaces
destraynor
162
26k
Evolving SEO for Evolving Search Engines
ryanjones
0
150
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
300
The SEO identity crisis: Don't let AI make you average
varn
0
410
Leo the Paperboy
mayatellez
4
1.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Are puppies a ranking factor?
jonoalderson
1
3.1k
Transcript
Testing Android Testing Android with with Open Source Open Source
~ Matthias Käppler ~ ~ Matthias Käppler ~ February 23rd, 2010
1h Workshop 1h Workshop (1) Writing Android tests 5m (2)
Writing Android tests: Example 15m (3) Build management / Maven 5m (4) Build management / Maven: Example 15m (5) Build automation / Hudson 5m (6) Build automation / Hudson: Example 15m
Europe's leading local review site 17M uniques I'm the Android
guy at Qype.com!
Android testing Android testing How do we write tests for
Android?
Android testing Android testing As usual! Android uses JUnit 3
android.test: AndroidTestCase < junit.framework.TestCase InstrumentationTestCase < junit.framework.TestCase
Android testing Android testing AndroidTestCase ApplicationTestCase ProviderTestCase2 ServiceTestCase
Android testing Android testing InstrumentationTestCase (SyncBaseInstrumentation) (SingleLaunchActivityTestCase) ActivityUnitTestCase ActivityInstrumentationTestCase2
Android testing Android testing How do we run tests for
Android?
Android testing Android testing Using Instrumentation.
Android testing Android testing Work it!
Build management Build management Nice, we have tests now. But
my build server doesn't click buttons.
Build management Build management We need something that can run
builds from the command line.
Build management Build management Maven 2 does these sorts of
things. (and MUCH more, in fact)
Build management Build management Maven 2 is a build system.
Build management Build management Maven 2 is a dependency management
system.
Build management Build management Maven 2 is a life-cycle management
system.
Build management Build management Maven 2 is a report and
documentation generator.
Build management Build management In fact: Maven 2 is a
platform.
Build management Build management There's a plugin for Android! maven-android-plugin
Build management Build management Maven's central notion is the project.
It's described by the POM.
Android testing Android testing Let's have a look at one...
Build automation Build automation Nice, we can now build and
deploy our app from the command line. But we still have to do it manually.
Build automation Build automation What we need is a build
server, which automatically triggers builds.
Build automation Build automation Hudson does these sorts of things.
Build automation Build automation Hudson is a continuuous integration server.
It can run builds when people commit pieces of work. This is extremely helpful for discovering software regressions early on.
Build automation Build automation Hudson is a Java Web application.
It consists of a single WAR. $ java -jar hudson.war
Build automation Build automation Let's run it.
More information More information maven.apache.org code.google.com/p/maven-android-plugin hudson-ci.org