TDD against Android UI Elements

I've been working very hard to not accept excuses for not having tests on something. I want to be able to TDD as close to 100% of an Android app as possible. I currently have a few areas I need to develop techniques to enable TDDing. One of…

VBM on Android - Top Stories Screen

OK - Looks like we've gotten to the point where building out a UI is gonna be a good next step. We need to know what we want to see to know what app innards to build up. Sure, sure "Top Stories"; but honestly, I have…

Design & Development Principles

What is this post? What I'll attempt to lay out here has been said with eloquence that I'll never be able to approach; detailed in ways I will never come up with; and I assume by people who've forgotten more about good software development…

Android Logger Refactor - Final Refactor

It has been a while since I've worked on refactoring the FyzLog. I've been occupied with the VBM on Android [https://quinngil.com/2017/01/25/vbm-on-android/] series. The practices demonstrated in this series though; hugely important ones that will need to be applied once code…

VBM on Android - Ruthless Refactoring

I was looking at the code today to see if I could use the new Moshi 1.4 [https://github.com/square/moshi/blob/master/CHANGELOG.md] and thought I should poke about to see if there's any obvious changes out the network layer I could/should change.…

VBM on Android - Initial Appium

Pre-ramble Appium is an excellent tool for testing an app running "for reals". No faking talking to other systems - it has to hit the real stuff. I prefer Appium for this as it forces that separation. It requires the application to be treated as a black box.…

VBM on Android - Retrofit Functional Tests

The first thing I'll do for this post is define my use of Functional Tests. This is something I feel needs to be done because the related type of testing, Integration Tests can easily be swapped for each other. In fact I work with people who use them…

Android Logger Refactor - Encapsulate

This is a simple refactor to bring encapsulation to the current log level and controlling if the output should go to android.util.Log or System.out. As part 4 mentioned; this is super simple. The change to FyzLog is to take the following /** * Write Log Message to {@link System#…