I am currently creating an Android app, and after a better installation of testing, to make my application bulletproof :) If there is something small / large, please feel free! :)
So my testing is a bit like this: (remember that my application has a server server)
- Junit tests Robolectric on the application side against all supported versions of Android.
- Junit checks with mockito on the server side.
- Integration tests with robolectric and a real instance of the internal server. UPDATE: this is likely to ultimately become test and measurement and a real-life example of a server server like robolectric, and the google play services that we use in the project is not an option.
- Control tests with a real instance of the internal server against several devices (different screen resolutions, etc.), but against only one version of the Android API - possibly the last supported one. This would mean running multiple Android virtual devices and running tests for each of them. I read that screenshots can be taken, but I'm not sure how we can verify that the screenshots are in order.
- Running the application with a monkey runner, again with a real server.
- Performance tests, in which in most cases we test the interaction of many devices with the internal server at the same time. Not quite sure how to get such tests for Android.
All these tests will be performed on the TeamCity CI server. We are trying to use roboletric on as many of these tests as possible, as this is faster than loading the tests on the device.
My question is, is there something big / small missing from my setup, or is there any framework that could make it easier for us to run all these tests besides using the robolectric / android maven plugin / teamcity?
java android robolectric android-testing
sakis kaliakoudas
source share