Test Rules Kotlin
I had some code that was the same over several Android Apps of mine - this library is created to DRY this out and provide some test-rules with common functionality.
These are test-rules that do the following:
- Install a SpooningFailureHandler ( Making screenshots with falcon-spoon - so you easily see in the report when the test failed because of some system dialog)
- Set the FLAG_TURN_SCREEN_ON or FLAG_DISMISS_KEYGUARD
- Provide screenshot facade as extension function ( I was switching from native spoon to falcon-spoon once - with this extension function there is a single place to change the implementation )
- Delete TraceDroid stacktrace files
- Base for custom Runner which lets you replace the Application class easily
- Activate and Deactivate TestButtler ( And verify animations are disabled )
These functions come from one ActivityTestRule and one IntentTestRule
A very simple usage:
class TheHelpActivity {
@get:Rule
val rule = TruleskActivityRule(HelpActivity::class.java)
@Test
fun test_version_is_shown() {
onView(withText("v" + BuildConfig.VERSION_NAME)).check(matches(isDisplayed()))
rule.screenShot("help")
}
}
Find more in PassAndroid and GobanDroid
get it via jitpack:
MIT License