I can't help feeling accustomed to the right (according to TDD) work: first write tests, then code such that the tests did not work, and only then run to work.
— lazy to write tests for trivial code (that is, there is no code "on paper", but "in the head" he is already)
— lazy to write the tests, providing for everything, for example, that methods of access to the database will return any kind of nonsense, and not either correct data or an error. Or, say, the design return new SomeClass() returns not an instance of SomeClass.
I'm probably writing tests is still misunderstood, especially with regard to the testing of related objects (e.g. combination of controller, model, repository)