2016-06-19 16 views
0

Ich muss Test meine Larravel Anwendung Behat verwenden und ich Laravel Anwendung geschrieben haben, die erfüllt:Wie testet man das Anmeldeformular in Laravel 5 mit Behat? Wie schreibe ich ein Feature?

Ein Nutzer kann die Web-Anwendung öffnet sich in seinem/ihrem Browser

Der Benutzer gibt Name und E-Mail-Adresse in das Registrierungsformular

Der Benutzer klickt auf die Schaltfläche "Registrieren" unter dem Formular

Die Anwendung registriert den Benutzer (Name/E-Mail) in der Datenbank

Die Anwendung leitet den Benutzer auf eine Seite, die eine „Danke Sie“ Nachricht enthält. ***

ich schreiben müssen Behat Funktionen, aber ich weiß nicht, wo ich anfangen soll? Ich habe über BDD gelesen, aber immer noch verwirrt.

Auch sollte es mit Unit-Tests abgedeckt werden für grundlegende Dinge wie nicht-UTF-8 Eingabe, leere Formulare und Non-String-Eingabe.

So ähnlich?

Feature: Registation form 
     In order to test register on this site 
     As a visitor 
     I need to fill in the necessary info 
    Scenario: 
     Given I am on the homepage 
     When I fill in "username" with "Chrismo" 
     And I fill in "email" with "[email protected]" 
     Then I should see "THank you" 

Antwort

0

Sie müssen alle Dateien Ihre Funktion auf dem features Ordner schreiben. Wenn Sie beispielsweise eine Funktion für functional testen möchten, können Sie eine Datei mit dem Namen welcome.feature erstellen und in den Ordner features/functional einfügen.

Und für Unit-Tests hat Behat per se keine Assertionen. Vielleicht möchten Sie die Behauptungen von PHPUnit verwenden. Wie PHPUnit mit neuen Laravel Anwendungen mitgeliefert wird, dann ist es bereits verfügbar, und alles, was man die Behauptungen zuzugreifen tun muss, ist die Klasse in der Klasse von Behat FeatureContext importieren, wie folgt:

use PHPUnit_Framework_Assert as PHPUnit;

Sie haben dann Zugriff auf Assertionen und schreiben Sie Ihre Tests.

EDIT: Hier ist eine ausführliche Anleitung, die Sie folgen können: https://blog.vinelab.net/building-reliable-apis-using-bdd-behant-laravel-5-949156a37e66#.yv89tcqkw

0

ich über Testebenen gelesen haben: Die Annahme, funktional, Integration und Einheiten. Ich bin mir nicht sicher, was es den Unterschied zwischen den ersten beiden. Sagen Sie mir, wenn ich-m falsch, aber auf dem obigen Beispiel

Akzeptanz Erstellen von Features so sein würde:

Feature: Registation form 
    In order to test register on this site 
    As a visitor 
    I need to fill in the necessary info 
Scenario: 
    Given I am on the homepage 
    When I fill in "name" with "Chrismo" 
    And I fill in "email" with "[email protected]" 
    And I press "Register" 
    Then I should see "THank you". 

Und auf der funktionalen, was getan werden muss? Vielleicht "irgendwie" zu überprüfen ist der Benutzer in der Benutzer-Tabelle (Datenbank) gespeichert?

+0

sehe meine Antwort. Ich habe es mit Tutorial-Link aktualisiert. –

+0

Ok, danke. Hier sind einige weitere Links: http://code.tutsplus.com/tutorials/laravel-bdd-and-you-lets-get-started--cms-22155 https://semaphoreci.com/community/tutorials/getting-started-with-bdd-in-laravel – moonlight