예제 #1
0
 /**
  * Run entire test suite of scenarios
  *
  * @throws Magento_Exception
  */
 public function run()
 {
     $scenarios = $this->_getOptimizedScenarioList();
     foreach ($scenarios as $scenarioFile) {
         $scenarioArguments = $this->_config->getScenarioArguments($scenarioFile);
         $scenarioSettings = $this->_config->getScenarioSettings($scenarioFile);
         $scenarioFixtures = $this->_config->getScenarioFixtures($scenarioFile);
         $this->_application->applyFixtures($scenarioFixtures);
         /* warm up cache, if any */
         if (empty($scenarioSettings[self::SETTING_SKIP_WARM_UP])) {
             $warmUpArgs = new Magento_Performance_Scenario_Arguments($this->_warmUpArguments + (array) $scenarioArguments);
             $this->_scenarioHandler->run($scenarioFile, $warmUpArgs);
         }
         /* full run with reports recording */
         $scenarioName = preg_replace('/\\..+?$/', '', basename($scenarioFile));
         $reportFile = $this->_config->getReportDir() . DIRECTORY_SEPARATOR . $scenarioName . '.jtl';
         if (!$this->_scenarioHandler->run($scenarioFile, $scenarioArguments, $reportFile)) {
             throw new Magento_Exception("Unable to run scenario '{$scenarioFile}', format is not supported.");
         }
     }
 }
예제 #2
0
 /**
  * @dataProvider getScenarioSettingsDataProvider
  *
  * @param string $scenarioName
  * @param array $expectedResult
  */
 public function testGetScenarioSettings($scenarioName, array $expectedResult)
 {
     $scenarioFile = __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . $scenarioName;
     $actualResult = $this->_object->getScenarioSettings($scenarioFile);
     $this->assertEquals($expectedResult, $actualResult);
 }