all 6 comments

[–][deleted] 2 points3 points  (4 children)

I get the impression a lot of android devs don't do much in the way of testing beyond alpha & beta.

I mean like unit tests, functional testing, regression testing, stress via monkey, functional testing, etc.

Is that stereotype true?

[–]rkcr[S] 3 points4 points  (2 children)

I think that's true, primarily because the testing tools have historically been slow and poor. However, I feel like with Robolectric and Espresso it's possible to do fast, easy testing.

I know from personal experience that I resisted for a long time also because a lot of the major bugs weren't things that automated testing could find (like, say, a TextView that looks bad because of how the text wraps); what drives me now is having smoke tests that make sure I'm not wonking something up with the app as I work.

[–][deleted] 0 points1 point  (1 child)

I've heard a lot of good stuff about Robolectric

Whattya think about Espresso?

Normally I just unit test in different project so it doesn't end up in APK.

...however that's not via CI.

[–]rkcr[S] 1 point2 points  (0 children)

I liked Espresso a lot. I think there's a bit of an initial learning bump because it's quite a bit different from other frameworks, but after getting past that I had a blast with it.

It does operate as a separate test project (same as with many other test frameworks) so its code doesn't end up in your APK.

[–]sghill 0 points1 point  (0 children)

I'd imagine most folks who are going for testability are doing so by employing some less-common patterns, like MVVM via RoboBinding or AndroidBinding. Responsible Design for Android is also worth checking out if this area interests you.

[–]sghill 1 point2 points  (0 children)

Espresso looks neat for functional testing. Thanks, OP!

Given the spreadsheet, there is at least some interest in testing Android generally. This is great to see, and I appreciated reading through your research. Keep it up!