Implementing Test Driven Development, Automated Testing and Continuous Integration into your Drupal Development Workflow
Test Driven Development, Continuous Integration, Automated Testing, Automated Deployment ... sounds wonderful, doesn't it? Perhaps a bit daunting?
"But I'm a small Drupal developer running my own development shop. I don't really have the time or the tools for that."
I thought that too. However, after spending countless hours chasing down obscure bugs in code I (or, in many cases, someone else) wrote weeks (or months) ago that is now behaving badly because recent modifications in the codebase changed its behavior, I began to think, "There has to be a better way".
There is. (See the first line of this post). And you don't have to be one of the big boys, working on projects with big budgets, to implement these in your own practice. There are tools out there in the open source community that are within your budget and your skillsets that can make reaching the Holy Grail of best practices development easier than ever:
- Unit Testing
- PHP Code Sniffer
- PHP Mess Detector
- PHP Copy Paste Detection
- PHP Lines of Code
- The Jenkins Job Template for Drupal Projects (wait, what?)
- and many more....
In my Continuous Integration on a Budget developer series, I'm going to cover how I implemented the tools that allowed me to begin practicing Test Driven Development, Automated Testing and Continuous Integration in my everyday Drupal Development workflow.