Use the Same Techniques to Break Dependencies in unit tests as in Production Code
seedling clean code unit test design feedback make-public