У меня есть Macbook с OS El Capitan. В моем новом приложении Laravel (созданного $ composer create-project laravel/laravel my_app
), я типа:Behat test «Тогда я должен увидеть Laravel 5» не работает в ларавельном приложении
$ php artisan serve
И в браузере (Safari или Chrome) на локальном хосте: 8000 Я успешно видеть черный текст «Laravel 5» на веб-странице.
У меня есть файл hometest.feature в особенности /, который выглядит следующим образом:
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"
У меня есть /features/bootstrap/FeaturesContext.php файл, который выглядит следующим образом:
<?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()
{
}
}
У меня есть файл behat.yml, который выглядит следующим образом:
default:
extensions:
Laracasts\Behat:
# env_path: .env.behat
Behat\MinkExtension:
default_session: laravel
base_url: http://localhost:8000
laravel: ~
Когда я запускаю (localhost running or not running = не отличается результат):
$ vendor/bin/behat
Выход консоли:
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)
Почему мой простой «я должен видеть тест 'Laravel 5' потерпеть неудачу? Если localhost должен быть запущен, как мне запустить мой тест одновременно? Когда я запускаю локальный хост, ничего, что я набираю в терминале, больше не получает ответ.
Моя структура каталогов применимых папок:
app/
bootstrap/
...
features/
bootstrap/
FeatureContext.php
hometest.feature
...
.env.behat
behat.yml
composer.json
...
etc.
Спасибо!
Почему вы не запускаете тест через другое окно терминала? –
@RavishaHesh, к сожалению, он выводит то же сообщение в новом окне, что я запускаю тест в –
К сожалению, я не знаком с этим пакетом Behat. Но в laravel phpunit есть переменная для установки базового url, а также не работающая с абсолютным путем localhost (http: // localhost/Blog/public). Таким образом, может быть с виртуальным хостом –