Autor wpisu: l3l0, dodany: 18.03.2011 23:07, tagi: php, symfony
Instalacja “Standard Symfony2″ ddistribution. Więcej informacji o instalacji na stronie symfony.com Teraz powinniśmy skonfigurować baze danych, możesz to sprawdzić na doctrine configuration
Konfiguracja naszego bundla
php app/console init:bundle "l3l0\BackendBundle" src
rejestrujemy “namespace” naszego “bundle” w app/autoload.php
$loader->registerNamespace(array( ... 'l3l0' => __DIR__ . '/../src', ... );
oraz rejestrujemy nasz “bundle” w app/AppKernel.php
public registerBundles() { $bundles = array( ... new l3l0\BackendBundle\l3l0BackendBundle() ); return $bundles; }
BDD Przy projekcie chcę używać BDD, chcę więc zainstalować Behata, żeby to zrobić starczy zainstalować BehatBundle. Opis instalacji na githubie https://github.com/Behat/BehatBundle/blob/master/README.md
Inicializacja Behata dla naszego bundla
php app/console behat:test:bundle --init l3l0\\BackendBundle
Implementacja historyjki użytkownika “Jako magazynier chcę logować się do systemu.”
Powiedzmy że musimy zaimpelementować taką funkcionalność.
Zaczniemy od pliku “feature” który jest odpowiednikiem testu w TDD może on wyglądać tak (eng) src/l3l0/BackendBundle/Tests/Features/login_to_system.feature
Feature: Login to system As a Guest I want to login to system. Background: Given user "l3l0" with password "password" is in database And I am on /login Scenario: Signin into system with valid login and password Given I fill in "loginForm[login]" with "l3l0" And I fill in "loginForm[password]" with "password" When I press "Login" in loginForm form Then I am logged in system And I should see "You are logged as l3l0" Scenario: Signin with invalid login Given I fill in "loginForm[login]" with "l3l01" And I fill in "loginForm[password]" with "password" When I press "Login" in loginForm form Then I am not logged in system And I should see "Your login or password is invalid" Scenario: Signin with invalid password Given I fill in "loginForm[login]" with "l3l0" And I fill in "loginForm[password]" with "password1" When I press "Login" in loginForm form Then I am not logged in system And I should see "Your login or password is invalid" Scenario: Signin with invalid login and password Given I fill in "loginForm[login]" with "l3l01" And I fill in "loginForm[password]" with "password1" When I press "Login" in loginForm form Then I am not logged in system And I should see "Your login or password is invalid"
Po uruchomienu feature zobaczymy że nie mamy zdefinowanych trzech kroków, aby je zdefinować musimy dodać do src/l3l0/BackendBundle/Tests/Features/steps/steps.php linijki: