init
This commit is contained in:
159
vendor/codeception/base/docs/reference/Configuration.md
vendored
Normal file
159
vendor/codeception/base/docs/reference/Configuration.md
vendored
Normal file
@@ -0,0 +1,159 @@
|
||||
# Configuration
|
||||
|
||||
## Global Configuration
|
||||
|
||||
Configuration file `codeception.yml` is generated by `codecept bootstrap` command. It has preconfigured settings you can change.
|
||||
|
||||
Here are global options you can change inside configuration:
|
||||
|
||||
* `actor: Tester`: changes suffix for Actor classes. This defines a rule to generate new test suites. If you change `Tester` to `Ninja`, and generate new `api` test suite, you will get `ApiNinja` actor class.
|
||||
* `namespace`: set a namespace for tests. All new tests and support classes will be generated under that namespace. Allows to configure [multiple test setups for one runner](http://codeception.com/docs/08-Customization#Namespaces).
|
||||
* `include: []`: include additional Codeception configurations for [multiple applications setup](http://codeception.com/docs/08-Customization#Namespaces).
|
||||
* `paths` directories used by Codeception. Default values are:
|
||||
|
||||
```yaml
|
||||
paths:
|
||||
# where the tests stored
|
||||
tests: tests
|
||||
|
||||
# directory for fixture data
|
||||
data: tests/_data
|
||||
|
||||
# directory for support code
|
||||
support: tests/_support
|
||||
|
||||
# directory for output
|
||||
output: tests/_output
|
||||
|
||||
# directory for environment configuration
|
||||
envs: tests/_envs
|
||||
```
|
||||
|
||||
* `settings`: provide additional options for test runner. They may dramatically change the way Codeception is executed. For instance, take a note of `shuffle` option which allows to randomize tests execution order and `lint` option that toggles parsing a test file (using `php -l`) before loading it.
|
||||
|
||||
```yaml
|
||||
settings:
|
||||
|
||||
# name of bootstrap that will be used
|
||||
# each bootstrap file should be
|
||||
# inside a suite directory.
|
||||
bootstrap: _bootstrap.php
|
||||
|
||||
# enable/disable syntax of test files before loading
|
||||
# for php < 7 exec('php -l') is used
|
||||
# disable if you need to speed up tests execution
|
||||
lint: true
|
||||
|
||||
# randomize test order
|
||||
shuffle: true
|
||||
|
||||
# by default it's false on Windows
|
||||
# use [ANSICON](https://github.com/adoxa/ansicon) to colorize output.
|
||||
colors: true
|
||||
|
||||
# Generate XML JUnit report using strict schema
|
||||
# Avoid putting additional report fields like steps or scenario names tot it
|
||||
# Required for XML reports on Jenkins CI
|
||||
strict_xml: false
|
||||
|
||||
# Tests (especially functional) can take a lot of memory
|
||||
# We set a high limit for them by default.
|
||||
memory_limit: 1024M
|
||||
|
||||
# This value controls whether PHPUnit attempts to backup global variables
|
||||
# See https://phpunit.de/manual/current/en/appendixes.annotations.html#appendixes.annotations.backupGlobals
|
||||
backup_globals: true
|
||||
|
||||
# PHPUnit can be strict about tests that do not test anything
|
||||
# See https://phpunit.de/manual/current/en/risky-tests.html#risky-tests.useless-tests
|
||||
report_useless_tests: false
|
||||
|
||||
# PHPUnit can be strict about output during tests.
|
||||
# See https://phpunit.de/manual/current/en/risky-tests.html#risky-tests.output-during-test-execution
|
||||
disallow_test_output: false
|
||||
|
||||
# PHPUnit can be strict about tests that manipulate global state.
|
||||
# See https://phpunit.de/manual/current/en/risky-tests.html#risky-tests.global-state-manipulation
|
||||
be_strict_about_changes_to_global_state: false
|
||||
|
||||
# Log the incomplete and skipped tests into junit report
|
||||
# See https://phpunit.de/manual/current/en/appendixes.configuration.html
|
||||
# Section logging > junit
|
||||
log_incomplete_skipped: false
|
||||
```
|
||||
|
||||
* `modules`: allows to create shared module configuration for all included suites.
|
||||
|
||||
```yaml
|
||||
modules:
|
||||
config:
|
||||
Db:
|
||||
dsn: ''
|
||||
user: ''
|
||||
password: ''
|
||||
dump: tests/_data/dump.sql
|
||||
```
|
||||
* `extends`: allows you to specify a file (relative to the `codeception.yml` file) that holds some already pre-defined values. This can be used to always use the same configuration for modules or whatever.
|
||||
* `extensions`: allows to enable and configure [Codeception extensions](http://codeception.com/docs/08-Customization#Extension), [Group Objects](http://codeception.com/docs/08-Customization#Group-Objects), and [Custom Commands](http://codeception.com/docs/08-Customization#Custom-Commands).
|
||||
* `reporters`: allows to [change default reporters](http://codeception.com/docs/08-Customization#Custom-Reporters) of Codeception
|
||||
* `coverage`: [CodeCoverage](http://codeception.com/docs/11-Codecoverage#Configuration) settings.
|
||||
* `params`: allows to pass [external parameters](http://codeception.com/docs/06-ModulesAndHelpers#Dynamic-Configuration-With-Params) into module configuration.
|
||||
* `gherkin`: BDD-specific [Gherkin options](http://codeception.com/docs/07-BDD#Configuration).
|
||||
|
||||
## Suite Configuration
|
||||
|
||||
Each generated suite have its own configuration inside directory set by `paths: tests: ` configuration option in `codeception.yml`. Each suite configuration is named like `suitename.suite.yml`. It allows to enable and configure modules, and more.
|
||||
|
||||
* `actor`: name of the actor class for current suite.
|
||||
* `modules`: list of enabled modules with their configuration.
|
||||
|
||||
```yaml
|
||||
modules:
|
||||
# enabled modules and helpers
|
||||
enabled:
|
||||
# built-in modules are listed by their names
|
||||
- PhpBrowser:
|
||||
# module configuration
|
||||
url: http://localhost
|
||||
# this module is pre-configured in global config
|
||||
- Db
|
||||
|
||||
# helper names are listed by their class names
|
||||
# by convention their names start with \
|
||||
- \Helper\Acceptance
|
||||
|
||||
# additional modules configuration
|
||||
# can be used for modules which are not currently enabled
|
||||
config:
|
||||
WebDriver:
|
||||
browser: firefox
|
||||
|
||||
# list of modules disabled for this suite
|
||||
disabled:
|
||||
- WebDriver
|
||||
|
||||
```
|
||||
|
||||
* `extends`: allows you to specify a file (relative to the `*.suite.yml` file) that holds some already pre-defined values. This can be used to always use the same configuration for modules or whatever.
|
||||
* `namespace`: default namespace of actor, support classes and tests.
|
||||
* `suite_namespace`: default namespace for new tests of this suite (ignores `namespace` option)
|
||||
* `env`: override any configuration per [environment](http://codeception.com/docs/07-AdvancedUsage#Environments).
|
||||
* `groups`: [groups](http://codeception.com/docs/07-AdvancedUsage#Groups) with the list of tests of for corresponding group.
|
||||
* `formats`: [formats](http://codeception.com/docs/07-AdvancedUsage#Formats) with the list of extra test format classes.
|
||||
* `coverage`: pre suite [CodeCoverage](http://codeception.com/docs/11-Codecoverage#Configuration) settings.
|
||||
* `gherkin`: per suite [BDD Gherkin](http://codeception.com/docs/07-BDD#Configuration) settings.
|
||||
* `error_level`: [error level](http://codeception.com/docs/04-FunctionalTests#Error-Reporting) for runner in current suite. Should be specified for unit, integration, functional tests. Passes value to `error_reporting` function.
|
||||
|
||||
## Config Templates (dist)
|
||||
|
||||
To provide the same configuration template for your development team, you can create a `codeception.dist.yml` config file, which will be loaded before `codeception.yml`. The dist config provides shared options, while local `codeception.yml` files override them on a per-installation basis. Therefore, `codeception.yml` should be ignored by your VCS system.
|
||||
|
||||
Config templates can also be used for suite configuration, by creating a `suitename.suite.dist.yml` file.
|
||||
|
||||
Configuration loading order:
|
||||
|
||||
1. `codeception.dist.yml`
|
||||
2. `codeception.yml`
|
||||
3. `acceptance.suite.dist.yml`
|
||||
4. `acceptance.suite.yml`
|
||||
5. environment config
|
||||
Reference in New Issue
Block a user