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
Matthias Käppler
February 22, 2010
Programming
0
110
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.3k
Conquering concurrency - bringing the Reactive Extensions to the Android platform
mttkay
40
6.4k
Calculon - A Java DSL for Android functional testing
mttkay
1
330
Qype API - Lessons learned
mttkay
2
190
Hands on the Gradle
mttkay
1
220
Secure Web services with OAuth
mttkay
3
140
Other Decks in Programming
See All in Programming
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1k
AIエージェント時代における TypeScriptスキーマ駆動開発の新たな役割
bicstone
4
1.5k
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
1k
Advance Your Career with Open Source
ivargrimstad
0
340
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1.1k
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
370
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
340
ネイティブ製ガントチャートUIを作って学ぶUICollectionViewLayoutの威力
jrsaruo
0
130
あなたの知らない「動画広告」の世界 - iOSDC Japan 2025
ukitaka
0
390
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
150
明日から始めるリファクタリング
ryounasso
0
110
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
920
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
75
5k
Gamification - CAS2011
davidbonilla
81
5.5k
KATA
mclloyd
32
15k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
Code Review Best Practice
trishagee
72
19k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
A better future with KSS
kneath
239
17k
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