Search code examples
phpbddbehatmink

Behat / Mink error Snippets for the following steps not generated


When switching over from Behat to Mink in v3 to use headless browser for testing. It stops generating Snippets for me automatically from my feature files.

Following the setup for features/bootstrap/FeatureContext.php from the docs.

behat

# generates this error at the bottom of the output
--- Snippets for the following steps in the default suite were not generated (check your configuration)

In Behat style just before it had output the functions I needed to set up.


Solution

  • Found the answer after some head scratching and hacking around with some other site examples. Drupal use being the one that helped.

    Mink now is not meant to do it for you for some reason and you are to implement them yourself, seems strange and they should just add it to the docs.

    All needed to do was include the namespace and "implement" it and then all good

    https://behat-drupal-extension.readthedocs.org/en/3.0/localinstall.html

    add to features/bootstrap/FeatureContext.php

    use Behat\Behat\Context\SnippetAcceptingContext;
    

    and at the end of your class def "implements SnippetAcceptingContext"

    class FeatureContext extends MinkContext implements SnippetAcceptingContext
    

    Then all works again showing when do behat or add auto to the file with

    behat --append-snippets
    

    You will see at the end of the output something like

    u features/bootstrap/FeatureContext.php - `I should see "count" greater than "10"` definition added