2016-07-02 17 views
1

Ich habe ein Macbook mit OS El Capitan. In meiner neuen Laravel Anwendung (erstellt von $ composer create-project laravel/laravel my_app), Typ I:Behat test "Dann sollte ich Laravel 5 sehen" schlägt in Laravel-Anwendung fehl

$ php artisan serve 

Und im Browser (Safari oder Chrome) auf localhost: 8000 I erfolgreich schwarzen Text "Laravel 5" auf der Homepage sehen.

Ich habe eine hometest.feature Datei in Funktionen/die wie folgt aussieht:

Feature: 
    In order to prove that Behat works as intended 
    We want to test the home page for a phrase 
    Scenario: Root Test 
    When I am on the homepage 
    Then I should see "Laravel 5" 

I Datei eine /features/bootstrap/FeaturesContext.php, die wie folgt aussieht:

<?php 

use Behat\Behat\Context\Context; 
use Behat\Behat\Context\SnippetAcceptingContext; 
use Behat\Gherkin\Node\PyStringNode; 
use Behat\Gherkin\Node\TableNode; 

/** 
* Defines application features from the specific context. 
*/ 
class FeatureContext extends Behat\MinkExtension\Context\MinkContext implements Context, SnippetAcceptingContext 
{ 
    /** 
    * Initializes context. 
    * 
    * Every scenario gets its own context instance. 
    * You can also pass arbitrary arguments to the 
    * context constructor through behat.yml. 
    */ 
    public function __construct() 
    { 
    } 
} 

Ich habe eine behat.yml-Datei, die wie folgt aussieht:

default: 
    extensions: 
     Laracasts\Behat: 
      # env_path: .env.behat 
     Behat\MinkExtension: 
      default_session: laravel 
      base_url: http://localhost:8000 
      laravel: ~ 

Wenn ich (localhost läuft laufen oder nicht = läuft nicht unterscheiden Ergebnis):

$ vendor/bin/behat 

Die Konsolenausgabe ist:

Feature: 
    In order to prove that Behat works as intended 
    We want to test the home page for a phrase 

    Scenario: Root Test    # features/hometest.feature:5 
    When I am on the homepage  # FeatureContext::iAmOnHomepage() 
    Then I should see "Laravel 5" # FeatureContext::assertPageContainsText() 
     The text "Laravel 5" was not found anywhere in the text of the current page. (Behat\Mink\Exception\ResponseTextException) 

--- Failed scenarios: 

    features/hometest.feature:5 

1 scenario (1 failed) 
2 steps (1 passed, 1 failed) 
0m0.12s (20.26Mb) 

Warum einfach „nicht sollte ich sehen 'Laravel 5' Test nicht bestanden? Wenn der Localhost ausgeführt werden muss, wie kann ich meinen Test gleichzeitig ausführen? Wenn ich den lokalen Host starte, bekommt nichts, was ich im Terminal tippe, eine Antwort mehr.

Meine Verzeichnisstruktur anwendbar Ordner:

app/ 
bootstrap/ 
... 
features/ 
    bootstrap/ 
     FeatureContext.php 
    hometest.feature 
... 
.env.behat 
behat.yml 
composer.json 
... 
etc. 

Thank you!

+0

warum Sie nicht Test durch ein anderes Terminal-Fenster durch Zugabe laufen? –

+0

@RavishaHesh leider gibt es die gleiche Nachricht in dem neuen Fenster, dass ich den Test in –

+0

ausführen Leider kenne ich dieses Behat-Paket nicht. Aber in Laravel phpunit gibt es eine Variable, um die Basis-URL zu setzen, und die auch nicht mit dem absoluten Pfad von localhost funktioniert (http: // localhost/Blog/public). Also könnte es mit einem virtuellen Host –

Antwort

8

Endlich! Ich fand über meine Server-Logs (storage/logs/laravel.log), dass die gerenderte Seite den Text "Hoppla, sieht aus wie etwas schief gelaufen ist" enthielt. (offensichtlich die falsche Seite). Der Fehler war "development.ERROR: Ausnahme 'RuntimeException' mit der Nachricht 'Kein unterstützter Verschlüsseler gefunden. Die Chiffre und/oder Schlüssellänge sind ungültig.'" Es gibt etwa 50 Fragen und Antworten zu StackOverflow und keine von sie haben funktioniert. Nach tagelanger Recherche fand ich endlich meine Lösung. Es kann eine Kombination vorheriger Änderungen sein, die ich gemacht habe, oder der Erfolg könnte vollständig auf diesen Befehl zurückzuführen sein. Versuchen Sie in jedem Fall:

php artisan config:cache 

Puh!

+0

Oohhhhhh mein Gott, ich kann dir nicht genug Bro danken. Ich habe geholfen. Ich fing an zu hassen ohne Grund. Nochmals vielen Dank eine Million Sie sind der Held – mwangaben

+0

Ich hatte das gleiche Problem, und es ist jetzt behoben danke Ihnen :) –

0

löste ich dieses Problem APP_KEY bei env.behat Datei