12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\TestFramework\Annotation;
- use Magento\TestFramework\Deploy\CliCommand;
- use Magento\TestFramework\Deploy\TestModuleManager;
- use Magento\TestFramework\TestCase\MutableDataInterface;
- /**
- * Handler for applying reinstallMagento annotation.
- */
- class DataProviderFromFile
- {
- /**
- * @var TestModuleManager
- */
- private $moduleManager;
- /**
- * @var CliCommand
- */
- private $cliCommand;
- /**
- * CopyModules constructor.
- */
- public function __construct()
- {
- $this->moduleManager = new TestModuleManager();
- $this->cliCommand = new CliCommand($this->moduleManager);
- }
- /**
- * Start test.
- *
- * @param \PHPUnit\Framework\TestCase $test
- * @throws \Exception
- */
- public function startTest(\PHPUnit\Framework\TestCase $test)
- {
- $annotations = $test->getAnnotations();
- //This annotation can be declared only on method level
- if (isset($annotations['method']['dataProviderFromFile']) && $test instanceof MutableDataInterface) {
- $data = include TESTS_MODULES_PATH . "/" . $annotations['method']['dataProviderFromFile'][0];
- $test->setData($data);
- } else if (!$test instanceof MutableDataInterface) {
- throw new \Exception("Test type do not supports @dataProviderFromFile annotation");
- }
- }
- /**
- * Finish test.
- *
- * @param \PHPUnit\Framework\TestCase $test
- * @throws \Exception
- */
- public function endTest(\PHPUnit\Framework\TestCase $test)
- {
- if ($test instanceof MutableDataInterface) {
- $test->flushData();
- }
- }
- }
|