BADCamp 2014 BDD Summit - Accomplishments

Events happening in the community are now at Drupal community events on www.drupal.org.
moshe weitzman's picture

Drupal Extension and Contrib

  • Jonathan Hedstrom et al worked on bug fixes and several feature additions to version 3 of the Drupal Extension. The Drush driver now allows global options to be passed through for all commands (such as --strict=0 for remote testing on Pantheon).

  • cboyden worked on porting Panopoly Behat scenarios to version 3 of the Drupal Extension. Some of this logic was moved into the Drupal Extension.

  • nielsonm worked on support issues in the queue.

  • mpgeek worked on testing Drupal 8 sites with version 3 of the Drupal Extension.

Behat for Beginners

Over the course of the day we had ten different people come by to work on their own Behat implementations, most of whom hadn't set up Behat for their project before. By the end of the day, I believe everyone had gotten set up to run automated tests using Drupal Extension 3.0 and many had gone the extra step to set up Selenium and work with it as well.

It was an excellent reminder that getting the Druapl Extension documentation in order is so important. As a result, we've removed the directions from the Drupal.org project page. They were both out-of-date with the latest version and confusing. At the same time, we tried to define a little better that this project straddles GitHub and Drupal.org.

The code undoubtedly belongs on GitHub. This is an extention to Behat, not a Drupal module. Still, we want to accept support requests on Drupal.org since it is fundamentally meant to help the Drupal community.

I'll be working throughout the week to update and test the remainder of the documentation and distill some of the emerging best practices.

A Starter Github Repo for adding Travis CI.

We enhanced and polished a starter repo on Github whose goal is to guide and accelerate your site's entry into the happy world of continous system testing via Travis. Special care was paid to the README and .travis.yml file to make them as clear and comprehensible as possible.

Drupal 8 and Mink

We reviewed and enhanced the awesome Mink patch which adds BrowserTestBase to Drupal 8. This new test class uses Mink as its testing browser, instead of the custom CURL based browser that core has used for years. This opens the door to future testing of core's javascript, among other things. Moshe and Adam added tests of BorwserTestbase itself, in preperation of its submission for core consideration.

Drupal Distrubutions and Behat

Several people setup Behat and ran the Panopoly tests on their local machines, then explored how it worked so they could think about how to use Behat to test their own Drupal distributions. Of those, a couple even wrote some new Behat tests for Panopoly! Brian Wood from UC Berkeley wrote one to test user created Text Formats and Jesse Hofmann-Smith from Phase2 wrote three new tests for Panopoly.

Mike Potter from Phase2 got the Panopoly test running, then adapted them to work in Open Atrium. Hunter from Phase2 joined us later, and both he and Mike began implementing new tests for Open Atrium, including some custom Behat step definitions. Mike got very close to having the Open Atrium tests running on Travis-CI, but encountered a few problems at the end of the day.

Caroline Boyden from UC Berkeley spent both sprint days and much of the session days at BADCamp working on porting the Panopoly tests from Behat 2 and the old Drupal Extension, to version 3 of both Behat and the Drupal Extension. She made TONS of progress and had all but 1 or 2 of the tests passing by end of the day on Sunday. I hope this effort will be finished soon - in the next few days or weeks.