1

I am working on a SilverStripe project. I am trying to write Behavioural Tests using Behat for my projects. But I am getting an error when I run the tests. Following is what I have done so far.

First I install the module using composer

composer require --dev silverstripe/behat-extension

I have the behat.yml file right under the project root folder with the following definition

default:
  suites: []
  extensions:
    SilverStripe\BehatExtension\MinkExtension:
      default_session: facebook_web_driver
      javascript_session: facebook_web_driver
      facebook_web_driver:
        browser: chrome
        wd_host: "http://127.0.0.1:9515"
      browser_name: chrome
    SilverStripe\BehatExtension\Extension:
      bootstrap_file: vendor/silverstripe/cms/tests/behat/serve-bootstrap.php
      screenshot_path: %paths.base%/artifacts/screenshots
      retry_seconds: 4 # default is 2

Then I tried to run the tests executing the following command.

vendor/bin/behat @framework

Then I get the following error.

In ModuleSuiteLocator.php line 166:

  No behat.yml found for module silverstripe/framework  


behat [-s|--suite SUITE] [-f|--format FORMAT] [-o|--out OUT] [--format-settings FORMAT-SETTINGS] [--init] [--namespace NAMESPACE] [--lang LANG] [--name NAME] [--tags TAGS] [--role ROLE] [--story-syntax] [-d|--definitions DEFINITIONS] [--snippets-for [SNIPPETS-FOR]] [--snippets-type SNIPPETS-TYPE] [--append-snippets] [--no-snippets] [--strict] [--order ORDER] [--rerun] [--stop-on-failure] [--dry-run] [--] [<module> [<paths>]]

There is not behat.yml in the vendor/silverstripe/framework folder. Actually, it is supposed to come with the framework. But it is not there. How can I solve the error?

Wai Yan Hein
  • 13,651
  • 35
  • 180
  • 372

1 Answers1

1

For all SilverStripe modules the tests and associated configuration are not shipped with distributable packages (e.g. tags).

If you want to use them, you'll need to install the "dev" version. E.g. 4.5.x-dev instead of ~4.5.0.

scrowler
  • 24,273
  • 9
  • 60
  • 92