Как сделать инъекцию зависимостей в тестах magento 2 phpunit - PullRequest
0 голосов
/ 08 июля 2019

Я храню свои конфиги в env.php, поэтому мне нужно использовать внедрение зависимостей в моем тестовом классе для доступа к конфигам.поэтому я хотел бы узнать, как внедрить класс конфигурации 'Magento \ Framework \ App \ DeploymentConfig' в мой тестовый класс.

Я попытался использовать конструктор и objectManager, и я не могу заставить его работать

первая попытка

    {
        //$objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
        $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
        $config = $objectManager->get('Magento\Framework\App\DeploymentConfig');
        $test_config = $config->get('tests');

        // create our http client (Guzzle)
        $this->client = new Client(['base_uri' => $test_config['base_url']]);
        //set headers
        $this->headers = [
            'Authorization' => 'Bearer ' . $test_config['token'],
            'Accept'        => 'application/json',
            'Content-Type'  => 'application/json',
        ];
    }

вторая попытка

public function __construct(
     \Magento\Framework\App\DeploymentConfig $config
) {
     $this->test_config = $config->get('tests');   
}

    public function Setup()
    {
        $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
        $config = $objectManager->getObject('Magento\Framework\App\DeploymentConfig');
        $test_config = $config->get('tests');

        // create our http client (Guzzle)
        $this->client = new Client(['base_uri' => $test_config['base_url']]);
        //set headers
        $this->headers = [
            'Authorization' => 'Bearer ' . $test_config['token'],
            'Accept'        => 'application/json',
            'Content-Type'  => 'application/json',
        ];
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...