diff --git a/mobile/com.sap.sailing.android.shared/build.gradle b/mobile/com.sap.sailing.android.shared/build.gradle index 5225dc959da..e626cea4b3c 100644 --- a/mobile/com.sap.sailing.android.shared/build.gradle +++ b/mobile/com.sap.sailing.android.shared/build.gradle @@ -31,10 +31,6 @@ android { signingConfig signingConfigs.stg_debug } } - - lintOptions { - abortOnError false - } } dependencies { diff --git a/mobile/com.sap.sailing.android.tracking.app/build.gradle b/mobile/com.sap.sailing.android.tracking.app/build.gradle index 6a13cce618b..ced779ee17c 100644 --- a/mobile/com.sap.sailing.android.tracking.app/build.gradle +++ b/mobile/com.sap.sailing.android.tracking.app/build.gradle @@ -14,6 +14,9 @@ android { versionCode verCode versionName "$verCode - Altitude" useJack false // not working on Windows yet + + /* UI testing with espresso */ + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } sourceSets { @@ -60,10 +63,6 @@ android { exclude "META-INF/maven/com.googlecode.json-simple/json-simple/pom.properties" exclude "META-INF/maven/com.googlecode.json-simple/json-simple/pom.xml" } - - lintOptions { - abortOnError false - } } dependencies { @@ -81,6 +80,14 @@ dependencies { /* all local jar-libs */ // compile fileTree(dir: "libs", include: ["*.jar"]) + + /* UI testing with espresso */ + androidTestCompile "com.android.support.test.espresso:espresso-core:2.0" + androidTestCompile ('com.android.support.test.espresso:espresso-contrib:2.0') { + exclude group: 'com.android.support', module: 'appcompat' + exclude group: 'com.android.support', module: 'support-v4' + exclude module: 'recyclerview-v7' + } } // Custom tasks diff --git a/mobile/com.sap.sailing.android.tracking.app/tests/src/com/sap/sailing/android/tracking/app/ui/activities/StartActivityTest.java b/mobile/com.sap.sailing.android.tracking.app/tests/src/com/sap/sailing/android/tracking/app/ui/activities/StartActivityTest.java index 3d5009ba086..50997c6caec 100644 --- a/mobile/com.sap.sailing.android.tracking.app/tests/src/com/sap/sailing/android/tracking/app/ui/activities/StartActivityTest.java +++ b/mobile/com.sap.sailing.android.tracking.app/tests/src/com/sap/sailing/android/tracking/app/ui/activities/StartActivityTest.java @@ -1,11 +1,12 @@ package com.sap.sailing.android.tracking.app.ui.activities; -import android.app.Activity; -import android.test.ActivityUnitTestCase; -import android.view.ContextThemeWrapper; +import android.support.test.espresso.Espresso; +import android.support.test.espresso.action.ViewActions; +import android.support.test.espresso.matcher.ViewMatchers; +import android.test.ActivityInstrumentationTestCase2; import com.sap.sailing.android.tracking.app.R; -public class StartActivityTest extends ActivityUnitTestCase { +public class StartActivityTest extends ActivityInstrumentationTestCase2 { public StartActivityTest() { super(StartActivity.class); @@ -14,13 +15,10 @@ public class StartActivityTest extends ActivityUnitTestCase { public void setUp() throws Exception { super.setUp(); - ContextThemeWrapper context = new ContextThemeWrapper(getInstrumentation().getTargetContext(), R.style.AppTheme); - setActivityContext(context); + getActivity(); } public void testActivity() throws Exception { - Activity activity = getActivity(); - - assertNull(activity); + Espresso.onView(ViewMatchers.withId(R.id.noQrCode)).perform(ViewActions.click()); } } \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/build.gradle b/mobile/com.sap.sailing.racecommittee.app/build.gradle index 5601d0f8b03..9fc3239ee2d 100644 --- a/mobile/com.sap.sailing.racecommittee.app/build.gradle +++ b/mobile/com.sap.sailing.racecommittee.app/build.gradle @@ -14,6 +14,9 @@ android { versionCode verCode versionName "$verCode - Laser" useJack false // not working on Windows yet + + /* UI testing with espresso */ + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } sourceSets { @@ -55,10 +58,6 @@ android { } } - lintOptions { - abortOnError false - } - packagingOptions { exclude "LICENSE.txt" exclude ".readme" @@ -80,6 +79,14 @@ dependencies { /* all local jar-libs */ compile fileTree(dir: "libs", include: ["*.jar"]) + + /* UI testing with espresso */ + androidTestCompile "com.android.support.test.espresso:espresso-core:2.0" + androidTestCompile ('com.android.support.test.espresso:espresso-contrib:2.0') { + exclude group: 'com.android.support', module: 'appcompat' + exclude group: 'com.android.support', module: 'support-v4' + exclude module: 'recyclerview-v7' + } } // Custom tasks diff --git a/mobile/com.sap.sailing.racecommittee.app/tests/src/com.sap.sailing.racecommittee.app/ApplicationTest.java b/mobile/com.sap.sailing.racecommittee.app/tests/src/com/sap/sailing/racecommittee/app/ApplicationTest.java similarity index 100% rename from mobile/com.sap.sailing.racecommittee.app/tests/src/com.sap.sailing.racecommittee.app/ApplicationTest.java rename to mobile/com.sap.sailing.racecommittee.app/tests/src/com/sap/sailing/racecommittee/app/ApplicationTest.java diff --git a/mobile/com.sap.sailing.racecommittee.app/tests/src/com/sap/sailing/racecommittee/app/ui/activities/LoginActivityTest.java b/mobile/com.sap.sailing.racecommittee.app/tests/src/com/sap/sailing/racecommittee/app/ui/activities/LoginActivityTest.java index 7969aaf7e75..4381e94e41b 100644 --- a/mobile/com.sap.sailing.racecommittee.app/tests/src/com/sap/sailing/racecommittee/app/ui/activities/LoginActivityTest.java +++ b/mobile/com.sap.sailing.racecommittee.app/tests/src/com/sap/sailing/racecommittee/app/ui/activities/LoginActivityTest.java @@ -1,11 +1,12 @@ package com.sap.sailing.racecommittee.app.ui.activities; -import android.app.Activity; -import android.test.ActivityUnitTestCase; -import android.view.ContextThemeWrapper; +import android.support.test.espresso.Espresso; +import android.support.test.espresso.action.ViewActions; +import android.support.test.espresso.matcher.ViewMatchers; +import android.test.ActivityInstrumentationTestCase2; import com.sap.sailing.racecommittee.app.R; -public class LoginActivityTest extends ActivityUnitTestCase { +public class LoginActivityTest extends ActivityInstrumentationTestCase2 { public LoginActivityTest() { super(LoginActivity.class); @@ -14,13 +15,10 @@ public class LoginActivityTest extends ActivityUnitTestCase { public void setUp() throws Exception { super.setUp(); - ContextThemeWrapper context = new ContextThemeWrapper(getInstrumentation().getTargetContext(), R.style.AppTheme_Dark); - setActivityContext(context); + getActivity(); } public void testActivity() throws Exception { - Activity activity = getActivity(); - - assertNull(activity); + Espresso.onView(ViewMatchers.withId(R.id.login_view_backdrop)).perform(ViewActions.click()); } } \ No newline at end of file diff --git a/mobile/com.sap.sailing.racecommittee.app/tests/src/com/sap/sailing/racecommittee/app/ui/activities/PreferenceActivityTest.java b/mobile/com.sap.sailing.racecommittee.app/tests/src/com/sap/sailing/racecommittee/app/ui/activities/PreferenceActivityTest.java new file mode 100644 index 00000000000..c5c2cbdfdf8 --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/tests/src/com/sap/sailing/racecommittee/app/ui/activities/PreferenceActivityTest.java @@ -0,0 +1,20 @@ +package com.sap.sailing.racecommittee.app.ui.activities; + +import android.test.ActivityInstrumentationTestCase2; + +public class PreferenceActivityTest extends ActivityInstrumentationTestCase2 { + + public PreferenceActivityTest() { + super(PreferenceActivity.class); + } + + public void setUp() throws Exception { + super.setUp(); + + getActivity(); + } + + public void testActivity() throws Exception { + + } +} \ No newline at end of file diff --git a/mobile/proguard-mobile.txt b/mobile/proguard-mobile.txt index 4b9467a8e22..0cd2b5ae790 100644 --- a/mobile/proguard-mobile.txt +++ b/mobile/proguard-mobile.txt @@ -1,5 +1,6 @@ -dontwarn javax.beans.** -dontwarn javax.security.** -dontwarn org.osgi.** +-dontwarn org.hamcrest.** -libraryjars /lib/rt.jar -keep class javax.** {*;} \ No newline at end of file