#automated-tests #drupal-8 #behat
#автоматизированные тесты #drupal-8 #behat
Вопрос:
Я обновляю свой сайт Drupal 8 до версии 8.4.8, который автоматически обновляет behat до версии 3.3.1
Я только что узнал, что мой тест Behat больше не работает, и застрял на следующих ошибках.
Вот ошибка
ArgumentCountError: Too few arguments to function DrupalFeatureContext::__construct(), 0 passed and exactly 1 expected in /var/www/mywebsite/tests/behat/features/bootstrap/Drupal/FeatureContext.php
Вот мой конструктор в FeatureContext.php
файле
/**
* FeatureContext class defines custom step definitions for Behat.
*/
class FeatureContext extends PageObjectContext implements SnippetAcceptingContext {
private $fourZeroFour;
public function __construct(FourZeroFour $fourZeroFour) {
$this->fourZeroFour = $fourZeroFour;
}
Вот мой результат.yml
imports:
- behat.yml
local:
suites:
default:
paths:
# Set features to repo root so that .feature files belonging to contrib
# modules, themes, and profiles can be discovered.
features: /var/www/mywebsite
bootstrap: /var/www/mywebsite/tests/behat/features/bootstrap
contexts:
- DrupalFeatureContext:
parameters:
environment:
# absolute path to local directory to store screenshots - do not include trailing slash
screenshot_dir: /var/www/mywebsite/reports
- DrupalDrupalExtensionContextDrupalContext
- DrupalDrupalExtensionContextMinkContext
- DrupalDrupalExtensionContextMessageContext
- DrupalDrupalExtensionContextDrushContext
Комментарии:
1. Вышеуказанная конфигурация хорошо работала в Behat 2, но я обновился до Behat 3, и она больше не работает.
Ответ №1:
Оказалось, что часть моей конфигурации отсутствовала в behat.файл yml.
Часть отсутствовала:
SensioLabsBehatPageObjectExtension:
namespaces:
page: Page
element: PageElement