Этот вопрос предполагает некоторое знание Laravel, Behat и Mink.
Имея это в виду, у меня возникают проблемы с простым вызовом БД из моего файла Behat FeatureContext, который выглядит примерно так ...
<?php
use App\Models\Db\User;
use Behat\Behat\Context\Context;
use Behat\Gherkin\Node\PyStringNode;
use Behat\Gherkin\Node\TableNode;
use Behat\MinkExtension\Context\MinkContext;
/**
* Defines application features from the specific context.
*/
class FeatureContext extends MinkContext implements Context {
public function __construct() {}
/**
* @Given I am authenticated with :email and :password
*/
public function iAmAuthenticatedWith($email, $password) {
User::where('email', $email)->firstOrFail();
$this->visitPath('/login');
$this->fillField('email', $email);
$this->fillField('password', $password);
$this->pressButton('Login');
}
}
Когда запускается этот сценарий, я получаю эту ошибку ...
Fatal error: Call to a member function connection() on null (Behat\Testwork\Call\Exception\FatalThrowableError)
Что вызвано этой строкой ...
User::where('email', $email)->firstOrFail();
Как мне использовать Laravel Eloquent (делать вызовы из БД) изнутри Behat / Mink FeatureContext? Нужно ли предоставлять что-то в конструкторе моего FeatureContext? Обновить / добавить строку в файле composer.json
или behat.yml
?
Если есть несколько способов решить эту проблему и стоит упомянуть, пожалуйста, сделайте.
Дополнительные сведения
Behat Config
default:
extensions:
Behat\MinkExtension\ServiceContainer\MinkExtension:
base_url: "" #omitted
default_session: selenium2
selenium2:
browser: chrome