Lots of mobile app code has inputs dependent upon a variety of events from network calls to user inputs, and it's "output" can be almost anything from UI state changes, pixel maps or database changes. Then your design group wants to change the UI, and you have to refactor everything, and rewrite every single unit test.