diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2018-12-12 16:57:40 +0100 |
---|---|---|
committer | Tobrun <tobrun@mapbox.com> | 2019-01-10 08:59:45 +0100 |
commit | 3a77ea6ff77558e3182510ef0f90000039b29bfe (patch) | |
tree | af6e1c180f3721dc6c0c63ff84e5d525bcab98bc /platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity | |
parent | 4be73454e64c498723abddf462026ecdb9d4ef94 (diff) | |
download | qtlocation-mapboxgl-3a77ea6ff77558e3182510ef0f90000039b29bfe.tar.gz |
[android] - espresso tests rework
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity')
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseTest.java (renamed from platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseActivityTest.java) | 27 | ||||
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/EspressoTest.java | 24 | ||||
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/activity.junit.ejs | 13 |
3 files changed, 47 insertions, 17 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseActivityTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseTest.java index a0168cc63d..ea69f8adae 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseActivityTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseTest.java @@ -3,6 +3,7 @@ package com.mapbox.mapboxsdk.testapp.activity; import android.app.Activity; import android.support.test.espresso.Espresso; import android.support.test.espresso.IdlingRegistry; +import android.support.test.espresso.IdlingResource; import android.support.test.espresso.IdlingResourceTimeoutException; import android.support.test.espresso.ViewInteraction; import android.support.test.rule.ActivityTestRule; @@ -12,8 +13,9 @@ import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.testapp.R; import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction; import com.mapbox.mapboxsdk.testapp.action.WaitAction; -import com.mapbox.mapboxsdk.testapp.utils.OnMapReadyIdlingResource; +import com.mapbox.mapboxsdk.testapp.utils.FinishLoadingStyleIdlingResource; +import com.mapbox.mapboxsdk.testapp.utils.MapboxIdlingResource; import junit.framework.Assert; import org.junit.After; @@ -28,7 +30,10 @@ import static android.support.test.espresso.assertion.ViewAssertions.matches; import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; import static android.support.test.espresso.matcher.ViewMatchers.withId; -public abstract class BaseActivityTest { +/** + * Base class for all Activity test hooking into an existing Activity that will load style. + */ +public abstract class BaseTest { @Rule public ActivityTestRule<Activity> rule = new ActivityTestRule<>(getActivityClass()); @@ -37,7 +42,7 @@ public abstract class BaseActivityTest { public TestName testNameRule = new TestName(); protected MapboxMap mapboxMap; - protected OnMapReadyIdlingResource idlingResource; + protected MapboxIdlingResource idlingResource; @Before public void beforeTest() { @@ -48,19 +53,25 @@ public abstract class BaseActivityTest { testNameRule.getMethodName(), "@Before test: register idle resource" )); - idlingResource = new OnMapReadyIdlingResource(rule.getActivity()); + idlingResource = (MapboxIdlingResource) generateIdlingResource(); IdlingRegistry.getInstance().register(idlingResource); Espresso.onIdle(); mapboxMap = idlingResource.getMapboxMap(); } catch (IdlingResourceTimeoutException idlingResourceTimeoutException) { - throw new RuntimeException(String.format("Could not start %s test for %s.\n Either the ViewHierarchy doesn't " - + "contain a view with resource id = R.id.mapView or \n the hosting Activity wasn't in an idle state.", - testNameRule.getMethodName(), - getActivityClass().getSimpleName()) + throw new RuntimeException( + String.format( + "Could not start %s test for %s.", + testNameRule.getMethodName(), + getActivityClass().getSimpleName() + ) ); } } + protected IdlingResource generateIdlingResource() { + return new FinishLoadingStyleIdlingResource(rule.getActivity()); + } + protected void validateTestSetup() { if (!Mapbox.isConnected()) { Timber.e("Not connected to the internet while running test"); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/EspressoTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/EspressoTest.java new file mode 100644 index 0000000000..dfb4a46180 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/EspressoTest.java @@ -0,0 +1,24 @@ +package com.mapbox.mapboxsdk.testapp.activity; + +import android.support.test.espresso.IdlingResource; +import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity; +import com.mapbox.mapboxsdk.testapp.utils.LoadStyleIdlingResource; + +/** + * Base class for all tests using EspressoTestActivity as wrapper. + * <p> + * Uses {@link LoadStyleIdlingResource} to load "assets/streets.json" as style. + * </p> + */ +public class EspressoTest extends BaseTest { + + @Override + protected IdlingResource generateIdlingResource() { + return new LoadStyleIdlingResource(rule.getActivity()); + } + + @Override + protected final Class getActivityClass() { + return EspressoTestActivity.class; + } +} diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/activity.junit.ejs b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/activity.junit.ejs index 03d4de17f4..22082400b5 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/activity.junit.ejs +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/activity.junit.ejs @@ -7,27 +7,22 @@ package com.mapbox.mapboxsdk.testapp.activity.gen.<%- subPackage %>; import android.support.test.runner.AndroidJUnit4; -import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest; -import com.mapbox.mapboxsdk.testapp.R; +import com.mapbox.mapboxsdk.testapp.activity.BaseTest; import com.mapbox.mapboxsdk.testapp.activity.<%- subPackage %>.<%- activity %>; +import junit.framework.Assert; import org.junit.Test; import org.junit.runner.RunWith; -import static android.support.test.espresso.Espresso.onView; -import static android.support.test.espresso.assertion.ViewAssertions.matches; -import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; -import static android.support.test.espresso.matcher.ViewMatchers.withId; - /** * Sanity test for <%- activity %> */ @RunWith(AndroidJUnit4.class) -public class <%- activity %>Test extends BaseActivityTest { +public class <%- activity %>Test extends BaseTest { @Test public void testSanity() { - validateTestSetup(); + } @Override |