title: What is more important, testability of code, or adherence to OOP principles?
body: <p>My teams evolution of TDD includes what appear to be departures from traditional oop.</p>
  
  <ol>
  <li><p>Moving away from classes that are self sufficient 
  We still encapsulate data where appropriate. But in order to mock any helper classes, we usually create some way to externally set them via constructor or mutator.</p></li>
  <li><p>We don't use private methods, ever.
  In order to take advantage of our mocking framework (RhinoMocks) the methods can't be private. This has been the biggest one to "sell" to our traditional devs. And to some degree I see their point. I just value testing more.</p></li>
  </ol>
  
  <p>What are your thoughts?</p>