diff --git a/docs/en/plugins/codeception.md b/docs/en/plugins/codeception.md index d037f5f5..87e5035e 100644 --- a/docs/en/plugins/codeception.md +++ b/docs/en/plugins/codeception.md @@ -12,6 +12,8 @@ Configuration * **args** - Optional - The string of arguments to be passed to the run command.**Important**, due to the assumption made on line 132 regarding the value of `--xml` being the next argument which will not be correct if the user provides arguments using this config param, you must specify `report.xml` before any user input arguments to satisfy the report processing on line 146. +* **path** - Optional - The path from the root of your project to the root of the codeception `_output` directory + #### Default values - config @@ -21,11 +23,25 @@ Configuration - args - Empty string + +- path + - `tests/_output/` + - `test/_log` ### Examples +```yml +codeception: + config: "codeception.yml" + args: "--no-ansi --coverage-html" ``` - codeception: - config: "codeception.yml" - args: "--no-ansi --coverage-html" + +Or + +```yml +codeception: + config: "subdir1/subdir2" + args: "report.xml -vv " + path: + - "subdir1/subdir2/tests/_output/" ``` diff --git a/src/PHPCensor/Plugin/Codeception.php b/src/PHPCensor/Plugin/Codeception.php index 64f22dd2..ee9e6974 100644 --- a/src/PHPCensor/Plugin/Codeception.php +++ b/src/PHPCensor/Plugin/Codeception.php @@ -64,11 +64,13 @@ class Codeception extends Plugin implements ZeroConfigPluginInterface } else { $this->ymlConfigFile = $options['config']; } + if (isset($options['args'])) { $this->args = (string) $options['args']; } + if (isset($options['path'])) { - $this->path = $options['path']; + array_unshift($this->path, $options['path']); } } @@ -146,7 +148,7 @@ class Codeception extends Plugin implements ZeroConfigPluginInterface if (!file_exists($outputPath . 'report.xml')) { foreach ($this->path as $path) { - $outputPath = $this->builder->buildPath . $path . '/'; + $outputPath = $this->builder->buildPath . rtrim($path, '/\\') . '/'; if (file_exists($outputPath . 'report.xml')) { break; }