@@ -59,8 +59,9 @@ There are other tools that are available for this kind of testing such as [Robot
5959
6060### JUnit basics
6161
62+ [ Calculator.java] ( https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/main/java/in/ravidsrk/sample/Calculator.java )
63+
6264``` java
63- // [Calculator.java](https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/main/java/in/ravidsrk/sample/Calculator.java)
6465public class Calculator {
6566
6667 public int add (int op1 , int op2 ) {
@@ -76,8 +77,10 @@ public class Calculator {
7677 return op1 / op2;
7778 }
7879}
80+ ```
7981
80- // [CalculatorTest.java](https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/test/java/in/ravidsrk/sample/CalculatorTest.java)
82+ [ CalculatorTest.java] ( https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/test/java/in/ravidsrk/sample/CalculatorTest.java )
83+ ``` java
8184public class CalculatorTest {
8285
8386 private Calculator calculator;
@@ -129,8 +132,9 @@ public class CalculatorTest {
129132
130133### Beyond JUnit basics
131134
135+ [ CalculatorTest.java] ( https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/test/java/in/ravidsrk/sample/CalculatorTest.java#L62 )
136+
132137``` java
133- // [CalculatorTest.java](https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/test/java/in/ravidsrk/sample/CalculatorTest.java#L62)
134138@Ignore
135139@Test (expected = java.lang. ArithmeticException . class)
136140public void testDivWithZeroDivisor() {
@@ -144,8 +148,9 @@ public void testDivWithZeroDivisor() {
144148### Assertions
145149### Hamcrest
146150
151+ [ HamcrestTest.java] ( https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/test/java/in/ravidsrk/sample/HamcrestTest.java )
152+
147153``` java
148- // [HamcrestTest.java](https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/test/java/in/ravidsrk/sample/HamcrestTest.java)
149154public class HamcrestTest {
150155
151156 @Test
@@ -201,8 +206,9 @@ public class HamcrestTest {
201206
202207### Rules
203208
209+ [ CalculatorWithTestName.java] ( https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/test/java/in/ravidsrk/sample/CalculatorWithTestName.java )
210+
204211``` java
205- // [CalculatorWithTestName.java](https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/test/java/in/ravidsrk/sample/CalculatorWithTestName.java)
206212public class CalculatorWithTestName {
207213
208214 @Rule
@@ -229,8 +235,10 @@ public class CalculatorWithTestName {
229235### Android test rules
230236
231237#### Rule to test Android Activity
238+
239+ [ MainActivityTestRule.java] ( https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/androidTest/java/in/ravidsrk/sample/MainActivityTestRule.java )
240+
232241``` java
233- // MainActivityTestRule.java
234242public class MainActivityTestRule <A extends Activity > extends ActivityTestRule<A > {
235243
236244 public MainActivityTestRule (Class<A > activityClass ) {
@@ -269,8 +277,10 @@ public class MainActivityTestRule<A extends Activity> extends ActivityTestRule<A
269277```
270278
271279#### Rule to test Android Service
280+
281+ [ SampleServiceTestRule.java] ( https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/androidTest/java/in/ravidsrk/sample/SampleServiceTest.java )
282+
272283``` java
273- // SampleServiceTestRule.java
274284public class SampleServiceTestRule extends ServiceTestRule {
275285
276286 @Override
@@ -301,8 +311,10 @@ public class SampleServiceTestRule extends ServiceTestRule {
301311
302312### Android instrumented tests
303313#### Testing Android Activity
314+
315+ [ MainActivityTest.java] ( https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/androidTest/java/in/ravidsrk/sample/MainActivityTest.java )
316+
304317``` java
305- // [MainActivityTest.java](https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/androidTest/java/in/ravidsrk/sample/MainActivityTest.java)
306318@RunWith (AndroidJUnit4 . class)
307319public class MainActivityTest {
308320
@@ -324,8 +336,9 @@ public class MainActivityTest {
324336
325337#### Testing Android Service
326338
339+ [ SampleServiceTest] ( https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/androidTest/java/in/ravidsrk/sample/SampleServiceTest.java )
340+
327341``` java
328- // [SampleServiceTest](https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/androidTest/java/in/ravidsrk/sample/SampleServiceTest.java)
329342@RunWith (AndroidJUnit4 . class)
330343public class SampleServiceTest {
331344
@@ -349,8 +362,10 @@ public class SampleServiceTest {
349362```
350363
351364### Test filtering
365+
366+ [ MainActivityTest.java] ( https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/androidTest/java/in/ravidsrk/sample/MainActivityTest.java#L61 )
367+
352368``` java
353- // [MainActivityTest.java](https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/androidTest/java/in/ravidsrk/sample/MainActivityTest.java#L61)
354369@Test
355370@RequiresDevice
356371public void testRequiresDevice() {
@@ -393,8 +408,10 @@ public void testLargeTest() {
393408```
394409
395410### Espresso
411+
412+ [ MainActivityTest.java] ( https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/androidTest/java/in/ravidsrk/sample/MainActivityTest.java#L134 )
413+
396414``` java
397- // [MainActivityTest.java](https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/androidTest/java/in/ravidsrk/sample/MainActivityTest.java#L134)
398415@Test
399416public void testEspresso() {
400417 ViewInteraction interaction =
@@ -420,8 +437,9 @@ public void testEspressoSimplified() {
420437```
421438### Robolectric
422439
440+ [ MainActivityRoboelectricTest.java] ( https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/test/java/in/ravidsrk/sample/MainActivityRoboelectricTest.java )
441+
423442``` java
424- // [MainActivityRoboelectricTest.java](https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/test/java/in/ravidsrk/sample/MainActivityRoboelectricTest.java)
425443@RunWith (RobolectricGradleTestRunner . class)
426444@Config (constants = BuildConfig . class)
427445public class MainActivityRoboelectricTest {
@@ -445,8 +463,9 @@ public class MainActivityRoboelectricTest {
445463
446464### Robotium
447465
466+ [ MainActivityRobotiumTest.java] ( https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/androidTest/java/in/ravidsrk/sample/MainActivityRobotiumTest.java )
467+
448468``` java
449- // [MainActivityRobotiumTest.java](https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/androidTest/java/in/ravidsrk/sample/MainActivityRobotiumTest.java)
450469public class MainActivityRobotiumTest {
451470 private Solo solo;
452471
@@ -474,25 +493,22 @@ public class MainActivityRobotiumTest {
474493}
475494```
476495
496+ [ MainActivityRobotiumTestRule.java] ( https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/androidTest/java/in/ravidsrk/sample/MainActivityRobotiumTestRule.java )
497+
477498``` java
478- // [MainActivityRobotiumTestRule.java](https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/androidTest/java/in/ravidsrk/sample/MainActivityRobotiumTestRule.java)
479499@Beta
480500public class MainActivityRobotiumTestRule <T extends Activity > extends UiThreadTestRule {
481501
482502 private static final String TAG = " InstrumentationRule" ;
483-
484503 private final Class<T > mActivityClass;
485504
486505 public Instrumentation getInstrumentation () {
487506 return mInstrumentation;
488507 }
489508
490509 private Instrumentation mInstrumentation;
491-
492510 private boolean mInitialTouchMode = false ;
493-
494511 private boolean mLaunchActivity = false ;
495-
496512 private T mActivity;
497513
498514 /**
@@ -705,9 +721,9 @@ public class MainActivityRobotiumTestRule<T extends Activity> extends UiThreadTe
705721```
706722### UI testing and UI Automator
707723
708- ``` java
709- // [MainActivityTest](https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/androidTest/java/in/ravidsrk/sample/MainActivityTest.java#L101)
724+ [ MainActivityTest] ( https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/app/src/androidTest/java/in/ravidsrk/sample/MainActivityTest.java#L101 )
710725
726+ ``` java
711727@Test
712728public void testPressBackButton() {
713729 UiDevice . getInstance(InstrumentationRegistry . getInstrumentation()). pressBack();
@@ -744,8 +760,10 @@ public void testUiAutomatorAPI() throws UiObjectNotFoundException, InterruptedEx
744760```
745761
746762### MonkeyRunner
763+
764+ [ sampletest.py] ( https://github.com/ravidsrk/android-testing-guide/blob/master/SampleApp/sampletest.py )
765+
747766``` python
748- // [sampletest.py](https:// github.com/ ravidsrk/ android- testing- guide/ blob/ master/ SampleApp/ sampletest.py)
749767# Imports the monkeyrunner modules
750768from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
751769
0 commit comments