无法在phpunit中运行Drupal::service()

无法在phpunit中运行Drupal::service(),phpunit,drupal-8,Phpunit,Drupal 8,我有一个简单的单元测试文件,如下所示: class testService extends UnitTestCase { function setUp() { parent::setUp(); } function testCall() { $service = \Drupal::service('plugin.manager.rest'); } ... } 供应商/bin/phpunit-c核心/模块/自定义/模块名称/

我有一个简单的单元测试文件,如下所示:

class testService extends UnitTestCase {
    function setUp() {
        parent::setUp();
    }
    function testCall() {
        $service = \Drupal::service('plugin.manager.rest');
    }
    ...
}
供应商/bin/phpunit-c核心/模块/自定义/模块名称/

存在ReflectionException错误:类不存在

在Devel中,我可以使用以下行执行PHP:

$service = \Drupal::service('plugin.manager.rest');
我错过了什么

谢谢

  • \Drupal::$container尚未初始化\必须使用真实容器调用Drupal::setContainer()

  • 您应该声明$container并设置为“plugin.manager.rest”

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


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

请解释你的理由。