Programming to an interface instead of programming to an implementation:
While you are writing the test you are thinking about the interface of the object you are testing:
What does this object look like from the outside.
When you go to make the test really work, you are thinking about pure implementation.
真的是很激动人心的一个思想
然而对我这种连测试代码都没写过几行的人来说这种境界依旧很遥远~