Totally agree with you there. I try to have a few levels of testing:
- Unit - everything is mocked but the object under test - Integration - common flows are worked through in code (eg. showing populated cells from a fixture JSON file) - Feature - tapping through the app with the server mocked out (via recorded server responses) - Smoke - spinning up a dev server with known data and hitting a few endpoints by tapping around the app (to ensure the "wires" or working like API keys, headers, routes, etc.)
The second two are where I see UI Testing helping the most. My comment was mostly related to the level of testing I've identified as "Smoke".