On PhpSpec, BDD, and Not-the-Drupal-Way
craychee
PhpSpec is a toolset for building out testable pieces of functionality strictly designed to meet (and only meet) the project requirements that you have made explicit. Identify your inputs, test your expected outputs. That's it.
Wait! Don't go. This is not a look-at-this-cool-tool talk. This is about how we as developers mature our skills and deliver testable, functional code.
Talking through that question includes:
- An introduction to the distinctions between unit, integration, and system testing
- An introduction to behavior driven development (BDD)
- Using PhpSpec (a BDD tool) to isolate and spec out functionality in your Drupal codebase
- Demo of what that looks like
The audience for this presentation probably has:
- A deep desire to see projects succeed
- An interest in trying new things
- And/or an investment in people who do have the above (project managers and other non-developers are very welcome)
Learning Objectives & Outcomes:
- An understanding of the cost/benefit tradeoff of unit testing vs. system testing
- An introduction to building out custom functionality in Drupal using PhpSpec
- A incitement to break the rules, leave behind your "I am a Drupal Developer" identity, and think about writing better code and modernizing your developer skills.