Testing

Drupal BDD -- Looking for the presence of a form on a page with Behat

I am working on a project where I am writing some custom Behat steps, as the steps that come pre-defined with Behat, Mink and the Drupal Extension are simply not adequate for user friendly scenario steps. The step I just wrote and tested, which is fairly simple but makes writing scenarios for this particular project much easier, allows you to look for the presence of a form within a region of a page using its HTML ID or HTML name, and is outlined here.

Adding custom step stubs to your FeatureContext file automatically

I recently started using Behat for User Acceptance Testing with some of my client projects, and just ran across a very extremely useful snippet in the Behat Documentation, for automatically adding the Behat generated method stubs for custom steps to your FeatureContext class file.

Behavior Driven Development, Acceptance Testing and Behat

This post is part of my "Continuous Integration on a Budget" series, and covers the "whats" of Behat and other tools available to implement Behavior Driven Development as part of your Continuous Integration process.

Setting up a Jenkins Template for Drupal Testing (CI on a Budget, part 2)

This post is part of my "Continuous Integration on a Budget" series, and covers setting up a Jenkins Template for Drupal Testing on a Jenkins CI server which, in this series, is set up on a Linode instance running Debian 7

Setting up a Jenkins CI Server (CI on a Budget, part 1)

This post is part of my "Continuous Integration on a Budget" series, and covers setting up a Jenkins CI server on a Linode Debian 7 instance.

In this post, I'll walk you through the steps of setting up a Jenkins CI server using a Debian 7 virtual server, set up at Linode.

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".