Skip to content

Instantly share code, notes, and snippets.

@sczerwinski
Last active June 12, 2017 11:24
Show Gist options
  • Save sczerwinski/bcd7e38a02638c249878b78b2e9e6cd0 to your computer and use it in GitHub Desktop.
Save sczerwinski/bcd7e38a02638c249878b78b2e9e6cd0 to your computer and use it in GitHub Desktop.
Kotlin functions providing ActivityTestRule and IntentsTestRule with a simplified syntax.
import android.app.Activity
import android.support.test.espresso.intent.rule.IntentsTestRule
import android.support.test.rule.ActivityTestRule
inline fun <reified T : Activity> activityTestRule(initialTouchMode: Boolean = false, launchActivity: Boolean = true) =
ActivityTestRule(T::class.java, initialTouchMode, launchActivity)
inline fun <reified T : Activity> intentsTestRule(initialTouchMode: Boolean = false, launchActivity: Boolean = true) =
IntentsTestRule(T::class.java, initialTouchMode, launchActivity)
@sczerwinski
Copy link
Author

Example usage:

@RunWith(AndroidJUnit4::class)
class MyTestClass {

	@Rule
	@JvmField
	val activityRule = activityTestRule<MainActivity>()

	@Rule
	@JvmField
	val intentsRule = intentsTestRule<MainActivity>(launchActivity = false)
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment