/** * Compose optimal order of scenarios, so that Magento reinstalls will be reduced among scenario executions * * @return array */ protected function _getOptimizedScenarioList() { $optimizer = new Magento_Performance_Testsuite_Optimizer(); $scenarios = $this->_config->getScenarios(); $fixtureSets = array(); foreach ($scenarios as $scenario) { /** @var $scenario Magento_Performance_Scenario */ $fixtureSets[] = $scenario->getFixtures(); } $keys = $optimizer->optimizeFixtureSets($fixtureSets); $result = array(); foreach ($keys as $key) { $result[] = $scenarios[$key]; } return $result; }
/** * @param array $fixtureSets * @param array $expected * @dataProvider optimizeFixtureSetsDataProvider */ public function testOptimizeFixtureSets($fixtureSets, $expected) { $optimized = $this->_optimizer->optimizeFixtureSets($fixtureSets); $this->assertEquals($optimized, $expected); }
/** * @param array $scenarios * @param array $expectedScenarios * @dataProvider runDataProvider */ public function testRun($scenarios, $expectedScenarios) { $actualScenarios = $this->_optimizer->run($scenarios); $this->assertEquals($actualScenarios, $expectedScenarios); }
/** * Compose optimal list of scenarios, so that Magento reinstalls will be reduced among scenario executions * * @return array */ protected function _getOptimizedScenarioList() { $optimizer = new Magento_Performance_Testsuite_Optimizer(); $scenarios = array(); foreach ($this->_config->getScenarios() as $scenarioFile) { $scenarios[$scenarioFile] = $this->_config->getScenarioFixtures($scenarioFile); } return $optimizer->run($scenarios); }