Home > testsuite.behat

testsuite.behat

Testsuite.behat is a project mainly written in ..., it's free.

Suite for testing symfony2 apps in Behat & Mink

Installation

Create folder in root directory you Web-server and clone this project:

$ cd ~/Sites
$ git clone https://github.com/livsi/testsuite.behat.git

Write this in you Symfony2 project:

In autoload:

// app/autoload.php
    $loader->registerNamespaces(array(
    // ...
    'Behat\BehatBundle' => '/Users/Standart-User/Sites/testsuite.behat/vendor',
    'Behat\Behat'       => '/Users/Standart-User/Sites/testsuite.behat/vendor/Behat/Behat/src',
    'Behat\Gherkin'     => '/Users/Standart-User/Sites/testsuite.behat/vendor/Behat/Gherkin/src',
    'Behat\Mink'        => '/Users/Standart-User/Sites/testsuite.behat/vendor/Behat/Mink/src',
    'Behat\MinkBundle'  => '/Users/Standart-User/Sites/testsuite.behat/vendor',
    'Goutte'            => '/Users/Standart-User/Sites/testsuite.behat/vendor/Goutte/src',
    'Zend'              => '/Users/Standart-User/Sites/testsuite.behat/vendor/Zend/library',
    'Behat\SahiClient'  => '/Users/Standart-User/Sites/testsuite.behat/vendor/Behat/SahiClient/src',
    'Buzz'              => '/Users/Standart-User/Sites/testsuite.behat/vendor/Buzz/lib',
// ...

));

In AppKernel.php

// app/AppKernel.php
    if (in_array($this->getEnvironment(), array('dev', 'test'))) {
    // ...
    $bundles[] = new Behat\BehatBundle\BehatBundle();
    $bundles[] = new Behat\MinkBundle\BehatMinkBundle();
    // ...
    }

In config_dev.yml

# app/config/config_dev.yml
framework:
    test:       ~

# ...

behat: ~

behat_mink:
    base_url:  http://your_app_local.url/app_test.php/
    goutte:     ~   # enable both Goutte
    sahi:       ~   # and Sahi session

Init bundle features suite

app/console behat:bundle --init Acme\\DemoBundle

Test conroller - is optional

// web/app_test.php

if (!in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1'))) {
    header('HTTP/1.0 403 Forbidden');
    die('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}

require_once __DIR__.'/../app/bootstrap.php.cache';
require_once __DIR__.'/../app/AppKernel.php';

use Symfony\Component\HttpFoundation\Request;

$kernel = new AppKernel('test', true);
$kernel->handle(Request::createFromGlobals())->send();

Конструкции для тестов:

Их можно всегда подсмотреть в консоли - имеются в виду те конструкции, которые уже имеются в наличии:

s2 --lang="ru" --definitions behat:bundle Cornish\\SiteBundle

Плюс - всегда можно создавать свои собственные, соответствующий сниппет генерируется Behat.

Previous:gallery