2016-04-26 7 views
0

Ich habe einen Feature-Ordner ist das Stammverzeichnis, und innerhalb eines Unterverzeichnisses habe ich den Ordner öffentlich mit 2 Feature-Kontext-Klassen. SignIn.php und PostProject.phpBehat kann meine Kontextklassen nicht finden

Ich habe die Pfade zu den Kontextklassen in der behat.yml-Datei angegeben und es teilt mir mit, dass die Kontextklasse nicht gefunden wurde und nicht verwendet werden kann? Ich verstehe wirklich nicht, wie unfähig es zu finden ist.

Ich bin mir nicht sicher, wie dieses Problem zu korrigieren ... Es sieht richtig aus und nicht sicher, was ich falsch mache.

Jede Hilfe würde wirklich geschätzt werden. Unten ist meine behat.yml Datei

default: 
    suites: 
     public: 
      paths:  [%paths.base%/features/public] 
      contexts: 
       - PostProject 
       - SignIn 
       - Behat\MinkExtension\Context\MinkContext 
    extensions: 
     Behat\MinkExtension: 
     goutte: ~ 
     selenium2: ~ 

Antwort

0

Ich habe die Antwort gefunden.

Die Kontextklassen müssen von ihren Namespaces automatisch geladen werden. Und es muss in der Datei behat.yml angegeben werden. Die Pfade Kontext ist für die Funktionstests verwendet (test.feature) -Dateien

Hier ist die überarbeitete .yml Datei

default: 
    autoload: 
     '': %paths.base%/features 
    suites: 
     public: 
      paths:  [%paths.base%/features] 
      contexts: 
       - public1\PostProject 
       - public1\SignIn 
       - Behat\MinkExtension\Context\MinkContext 
     client: 
      paths:  [%paths.base%/features] 
      contexts: 
       - Client 
    extensions: 
     Behat\MinkExtension: 
     goutte: ~ 
     selenium2: ~ 

Beispiel der Kontextklassen

namespace public1; 

date_default_timezone_set("America/New_York"); 
use Behat\Behat\Context\Context; 
use Behat\Behat\Context\SnippetAcceptingContext; 
use Behat\Behat\Hook\Scope\BeforeScenarioScope; 

/** 
* Defines application features from the specific context. 
*/ 
class SignIn implements Context, SnippetAcceptingContext 
{ 
//Content here 
} 



namespace public1; 

date_default_timezone_set("America/New_York"); 
use Behat\Behat\Context\Context; 
use Behat\Behat\Context\SnippetAcceptingContext; 
use Behat\Behat\Hook\Scope\BeforeScenarioScope; 

/** 
* Defines application features from the specific context. 
*/ 
class PostProject implements Context, SnippetAcceptingContext 
{ 
//Content here 
}