69. Do not use TDD in simple
CRUD applications (IMHO)
• High cost
• Slow (in terms of development time)
• Zero profit
• Use functional and integration tests instead
70. Do not mock 3rd party code
• Large complicated tests
• You actually test not how your code works with this
library, but how your code works with your
understanding of this library
71. Do not mock 3rd party code
Use interfaces instead of 3rd party dependent code
72. Consider using appropriate
DI library
• symfony/di and Pimple are not well suited for TDD
because of large amount of small classes
• you must define rule for every class, which is very
boring
• There are some DI containers which will create
most objects without explicitly defined rules by just
reading constructor arguments type hints through
reflection
73. Consider using appropriate
DI library
• zend-di
• Laravel IoC Container - http://laravel.com/docs/ioc
• PHP-DI - http://php-di.org/