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!
warum Sie nicht Test durch ein anderes Terminal-Fenster durch Zugabe laufen? –
@RavishaHesh leider gibt es die gleiche Nachricht in dem neuen Fenster, dass ich den Test in –
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 –