Yeah, @zmoazeni, it's important for us all to keep in mind that there are (1) many good ways to build software and (2) many motivations for writing tests.

I favor a GOOS-style hyper-isolated suite of unit tests to validate my design and its behavior, but I like that to be backed by a ridiculously flexible end-to-end suite that can survive (that is, give a trustworthy pass or fail) even when the production code changes drastically.

Both are extreme ideals and I normally have to cut a few corners to be practical, but I think it's healthy to shoot for them (at least until it hurts)