All Projects → acquia → Drupal Spec Tool

acquia / Drupal Spec Tool

Licence: gpl-2.0
A tool for specifying Drupal architecture details and generating automated tests for them.

Labels

Projects that are alternatives of or similar to Drupal Spec Tool

Karate
Test Automation Made Simple
Stars: ✭ 5,497 (+5397%)
Mutual labels:  gherkin
Psalm Plugin Phpunit
A PHPUnit plugin for Psalm
Stars: ✭ 42 (-58%)
Mutual labels:  gherkin
Yard Doctest
Doctests from YARD examples
Stars: ✭ 78 (-22%)
Mutual labels:  gherkin
Gherkin
Gherkin parser, written in PHP 5.3+ for Behat project
Stars: ✭ 924 (+824%)
Mutual labels:  gherkin
Jekyll Scholar
jekyll extensions for the blogging scholar
Stars: ✭ 872 (+772%)
Mutual labels:  gherkin
Gwen Web
A web automation engine for Gwen.
Stars: ✭ 47 (-53%)
Mutual labels:  gherkin
Symfonyextension
🎼 Extension integrating Behat with Symfony.
Stars: ✭ 376 (+276%)
Mutual labels:  gherkin
Godog
Cucumber for golang
Stars: ✭ 1,287 (+1187%)
Mutual labels:  gherkin
Jrg
Juno Reverse Geocoder
Stars: ✭ 21 (-79%)
Mutual labels:  gherkin
Poet
Lets you split your ssh_config into separate files
Stars: ✭ 72 (-28%)
Mutual labels:  gherkin
Cuke linter
A linting tool for Cucumber
Stars: ✭ 24 (-76%)
Mutual labels:  gherkin
Pantheon Wordpress Upstream Tests
Tests behavior of WordPress Core upstreams for Pantheon. Also within test suites of contrib plugins
Stars: ✭ 12 (-88%)
Mutual labels:  gherkin
Jekyll ghost importer
Post importer from Ghost backup files.
Stars: ✭ 57 (-43%)
Mutual labels:  gherkin
Opencypher
Specification of the Cypher property graph query language
Stars: ✭ 534 (+434%)
Mutual labels:  gherkin
Doctor Command
Diagnose problems within WordPress by running a series of checks for symptoms
Stars: ✭ 82 (-18%)
Mutual labels:  gherkin
Contexts
Behat extension with most custom helper steps
Stars: ✭ 387 (+287%)
Mutual labels:  gherkin
Cucumber Gradle Parallel
Example of Gradle Running Cucumber Features in Parallel
Stars: ✭ 42 (-58%)
Mutual labels:  gherkin
Middleman Google Analytics
📈 A @middleman plugin to handle generating your Google Analytics tracking code.
Stars: ✭ 91 (-9%)
Mutual labels:  gherkin
Patton
The clever vulnerability dependency finder
Stars: ✭ 87 (-13%)
Mutual labels:  gherkin
Middleman Sprockets
Sprockets support for Middleman
Stars: ✭ 62 (-38%)
Mutual labels:  gherkin

Drupal Spec Tool

Packagist Build Status

This project provides a tool for specifying Drupal architecture details and generating automated tests for them. It consists of 1) a Google Sheet for capturing specification and generating tests from it and 2) the Behat contexts that automate the generated tests (examples).

Getting started

Google sheet

Copy the appropriate version of the Google sheet to your Google Drive:

Google Sheet Screenshot

Behat tests

Assuming you already have Behat installed via Composer...

  1. Install the Behat contexts:

    composer require --dev acquia/drupal-spec-tool
    
  2. Add the new contexts to your Behat configuration, e.g.:

    # behat.yml
    default:
      suites:
        default:
          contexts:
            - Acquia\DrupalSpecTool\Context\AccessControlContext
            - Acquia\DrupalSpecTool\Context\ContentModelContext
            - Acquia\DrupalSpecTool\Context\MediaContext
            - Acquia\DrupalSpecTool\Context\MenuContext
            - Acquia\DrupalSpecTool\Context\ViewsContext
            - Acquia\DrupalSpecTool\Context\WorkflowContext
    
  3. Copy the default feature files (representing the out-of-the-box configuration of Lightning) to your features directory. For example, given a BLT-based project:

    mkdir tests/behat/features/drupal-spec-tool
    cp vendor/acquia/drupal-spec-tool/features/*.feature tests/behat/features/drupal-spec-tool/
    
  4. As you change the specification, update the features to match using the generated Gherkin on the "Behat" tab of the Google sheet. (See Advanced below to automate this process.)

  5. Run Behat! If the tests pass, your application matches the specification. If not, change one or the other according to your needs.

Usage

Learn more about the features of the tool and best practices for using it in the announcement blog post on the Acquia Developer Center.

Advanced

Automate test updates with nickwilde1990/drupal-spec-tool-commands.

Known issues

See open bug reports in the issue queue.

Contribution

Contributions are welcome! See CONTRIBUTING.md.

License

Copyright (C) 2018 Acquia, Inc.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].