I have been using Espresso for more than a year now, and I love it. I am considering writing a book / recording a video class / giving talks & workshops on the topic, but it is a substantial amount of work so I want to gauge interest before I start. If this material is valuable to you, please let me know by filling this form.
The outline
Introduction
- What is instrumentation testing?
- What is Espresso?
- Basic anatomy of an Espresso test
ViewMatchers
- How do matchers work?
- Combining matchers (Hamcrest & Espresso)
- Matching inside an AdapterView
- onData
- onChildView
- inAdapterView
- Using RecyclerViewActions with RecyclerView
- Custom matchers
ViewActions
- click(): What happens behind the scene?
- Custom actions
- getConstraints()
- perform()
ViewAssertions
- matches(ViewMatcher)
- doesNotExist()
- Custom assertions
Intents
- Incoming: setActivityIntent
- Outgoing: ActivityMonitor
App synchronization
- The notion of idling
- Custom IdlingResource
Repeatable tests
- Avoid external dependencies (network, device configuration etc)
- Dagger and Mockito
Cast studies
- Combining various techniques in real-world scenarios
Your input
As a start, I submitted a talk proposal to Droidcon NYC. Please fav this tweet if you want to hear it:
Submitted to @DroidconNYC! Advanced Espresso: custom matchers, IdlingResource & more. Fav if you want to hear it!
— Chiu-Ki Chan (@chiuki) April 18, 2015
However, the talk is only 40-minute long, highlighting maybe a quarter of this outline. It will take a lot more effort to flesh out the whole outline, so please let me know your interest by filling in this form: http://bit.ly/1H0X4up. Thank you!
Update: I have started publishing Espresso courses! https://gumroad.com/chiuki. Still trying to figure out what topics to tackle next, so I'd really appreciate your input.
Inline coding questions will not be answsered. Instead, ask on StackOverflow and put the link in the comment.
Sounds great Chiu! I'm quite interested to read to learn about your Espresso courses. Looking forward. Did you manage to consider any topics? And do you have plan to publish your written book in eBook format?
ReplyDeleteI'm very late to this but I would love to go to a conference talk, meet up talk, workshop, or take some online tutorials about Espresso. What resources do you recommend now for a learner?
ReplyDeleteCheck out my Espresso course: https://www.linkedin.com/learning/android-espresso-essential-training
Delete