Не удалось запустить Drupal :: service () в phpunit - PullRequest
0 голосов
/ 07 декабря 2018

Итак, у меня есть файл простого модульного теста, подобный этому:

class testService extends UnitTestCase {
    function setUp() {
        parent::setUp();
    }
    function testCall() {
        $service = \Drupal::service('plugin.manager.rest');
    }
    ...
}

vendor / bin / phpunit -c core / modules / custom / имя-модуля /

имеет ошибкуReflectionException: Класс не существует

в Devel, я могу выполнить PHP с этой строкой:

$service = \Drupal::service('plugin.manager.rest');

Что мне не хватает?

Спасибо

1 Ответ

0 голосов
/ 11 декабря 2018
  • \ Drupal :: $ контейнер еще не инициализирован.\ Drupal :: setContainer () должен вызываться с реальным контейнером.

  • Вы должны объявить $ container и установить для "plugin.manager.rest"

$ resourceManager = $ this-> getMockBuilder (ResourcePluginManager :: class) -> disableOriginalConstructor () -> getMock ();

$ this-> container-> set ('plugin.manager.rest', $ resourceManager);

...