DrupalCon Baltimore 2017: Bending Behat's Benefits
SLIDES
Behat is a tool for having better conversations with your team about expectations for the software being built. By it's nature, Behat separates the expectations (the steps written in feature files) from the implementation details (the PHP files that define the steps). This separation of concerns can make Behat both powerful and cumbersome. Once comfortable with Behat's complexity, there is room for a lot of creative usage.
This session will cover some of the good, bad, and ugly ways Pantheon uses Behat include:
Testing our command line tool, Terminus.
Sharing tests of core WordPress behavior across multiple WordPress plugins.
Overriding some Behat classes to change how shared steps are executed (for example, changing the execution of user login steps for SAML).
Nightly tests of Drupal and WordPress core.
Verifying Drupal 7 to Drupal 8 data migration.
Providing authenticated traffic to compare performance of PHP 5 vs. PHP 7.
Remote execution of Behat tests against sites installed on Pantheon.
Behat is a tool for having better conversations with your team about expectations for the software being built. By it's nature, Behat separates the expectations (the steps written in feature files) from the implementation details (the PHP files that define the steps). This separation of concerns can make Behat both powerful and cumbersome. Once comfortable with Behat's complexity, there is room for a lot of creative usage.
This session will cover some of the good, bad, and ugly ways Pantheon uses Behat include:
Testing our command line tool, Terminus.
Sharing tests of core WordPress behavior across multiple WordPress plugins.
Overriding some Behat classes to change how shared steps are executed (for example, changing the execution of user login steps for SAML).
Nightly tests of Drupal and WordPress core.
Verifying Drupal 7 to Drupal 8 data migration.
Providing authenticated traffic to compare performance of PHP 5 vs. PHP 7.
Remote execution of Behat tests against sites installed on Pantheon.