/** * Lists the available steps definitions * * @param string $type * @param string $component * @param string $filter * @return array System steps or empty array if case there are no steps */ public static function stepsdefinitions($type, $component, $filter) { // We don't require the test environment to be enabled to list the steps definitions // so test writers can more easily set up the environment. behat_command::behat_setup_problem(); // The loaded steps depends on the component specified. behat_config_manager::update_config_file($component, false); // The Moodle\BehatExtension\HelpPrinter\MoodleDefinitionsPrinter will parse this search format. if ($type) { $filter .= '&&' . $type; } if ($filter) { $filteroption = ' -d "' . $filter . '"'; } else { $filteroption = ' -di'; } // Get steps definitions from Behat. $options = ' --config="' . behat_config_manager::get_steps_list_config_filepath() . '" ' . $filteroption; list($steps, $code) = behat_command::run($options); return $steps; }
/** * Returns the status of the behat test environment * * @return int Error code */ public static function get_behat_status() { if (!defined('BEHAT_UTIL')) { throw new coding_exception('This method can be only used by Behat CLI tool'); } // Checks the behat set up and the PHP version, returning an error code if something went wrong. if ($errorcode = behat_command::behat_setup_problem()) { return $errorcode; } // Check that test environment is correctly set up, stops execution. self::test_environment_problem(); }