Skip to content

Commit 99f9810

Browse files
MC-30880: Integration Test Extensibility
1 parent 7270032 commit 99f9810

File tree

2 files changed

+24
-18
lines changed

2 files changed

+24
-18
lines changed

dev/tests/integration/framework/Magento/TestFramework/SuiteLoader.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ public function __construct()
4545
/**
4646
* @inheritdoc
4747
*/
48-
public function load($suiteClassName, $suiteClassFile = '')
48+
public function load(string $suiteClassFile): \ReflectionClass
4949
{
50-
$resultClass = $this->suiteLoader->load($suiteClassName, $suiteClassFile);
50+
$resultClass = $this->suiteLoader->load($suiteClassFile);
5151

5252
if ($this->testsConfig->hasConfiguration($resultClass->getName())
5353
&& !in_array(SkippableInterface::class, $resultClass->getInterfaceNames(), true)
@@ -61,7 +61,7 @@ public function load($suiteClassName, $suiteClassFile = '')
6161
/**
6262
* @inheritdoc
6363
*/
64-
public function reload(\ReflectionClass $aClass)
64+
public function reload(\ReflectionClass $aClass): \ReflectionClass
6565
{
6666
return $aClass;
6767
}

dev/tests/integration/testsuite/Magento/IntegrationTest.php

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@
1111
use Magento\TestFramework\Workaround\Override\Config;
1212
use Magento\TestFramework\Workaround\Override\WrapperGenerator;
1313
use PHPUnit\Framework\TestSuite;
14-
use PHPUnit\Util\Configuration;
14+
use PHPUnit\TextUI\Configuration\Registry;
15+
use PHPUnit\TextUI\Configuration\TestSuiteCollection;
16+
use PHPUnit\TextUI\Configuration\TestSuiteMapper;
1517

1618
/**
1719
* Integration tests wrapper.
@@ -27,24 +29,28 @@ public static function suite($className)
2729
{
2830
$generator = new WrapperGenerator();
2931
$overrideConfig = Config::getInstance();
30-
$configuration = Configuration::getInstance(self::getConfigurationFile());
31-
$suites = $configuration->getTestSuiteConfiguration();
32+
$configuration = Registry::getInstance()->get(self::getConfigurationFile());
33+
$suitesConfig = $configuration->testSuite();
3234
$suite = new TestSuite();
33-
/** @var TestSuite $testSuite */
34-
foreach ($suites as $testSuite) {
35-
if ($testSuite->getName() === 'Magento Integration Tests') {
35+
/** @var \PHPUnit\TextUI\Configuration\TestSuite $suiteConfig */
36+
foreach ($suitesConfig as $suiteConfig) {
37+
if ($suiteConfig->name() === 'Magento Integration Tests') {
3638
continue;
3739
}
38-
/** @var TestSuite $test */
39-
foreach ($testSuite as $test) {
40-
$testName = $test->getName();
40+
$suites = (new TestSuiteMapper())->map(TestSuiteCollection::fromArray([$suiteConfig]), '');
41+
/** @var TestSuite $testSuite */
42+
foreach ($suites as $testSuite) {
43+
/** @var TestSuite $test */
44+
foreach ($testSuite as $test) {
45+
$testName = $test->getName();
4146

42-
if ($overrideConfig->hasConfiguration($testName) && !$test instanceof SkippableInterface) {
43-
$reflectionClass = new \ReflectionClass($testName);
44-
$resultTest = $generator->generateTestWrapper($reflectionClass);
45-
$suite->addTest(new TestSuite($resultTest, $testName));
46-
} else {
47-
$suite->addTest($test);
47+
if ($overrideConfig->hasConfiguration($testName) && !$test instanceof SkippableInterface) {
48+
$reflectionClass = new \ReflectionClass($testName);
49+
$resultTest = $generator->generateTestWrapper($reflectionClass);
50+
$suite->addTest(new TestSuite($resultTest, $testName));
51+
} else {
52+
$suite->addTest($test);
53+
}
4854
}
4955
}
5056
}

0 commit comments

Comments
 (0)