This is nice, thanks for taking the time to explain and write it all out. I like UI testing because I dislike maintaining mocks and stubs all over the place (and haven't found a way to write lower-level tests that don't rely on them heavily), but this approach definitely seems interesting. I like that it also forces your views to stay simple and just call simple functions. A problem resulting from not calling a handler or calling the wrong one would be immediately obvious, the tests really deal with checking what happens when that handler is called.. this seems like a great way to isolate that and test it without the pain of selenium et al! Cool pattern, thanks for sharing.