"A class doesn't usually make a good Unit, it's usually a collection of classes that is interesting."
JESSICA: I always test from as far outside as I can feasibly test because that gives me the freedom to change things on the inside.
"the separation will allow you to make radical changes to the implementation of the code without changing the tests.
There are a lot of religious arguments out there about the boundaries between "unit", "functional", "integration", and other sorts of tests; By "unit" tests here I mean tests that exercise some specific module or component of the code base with minimal dependencies on or invocation of other code in the application.