Настройка
Глобальная настройка
Файл конфигурации codeception.yml генерируется командой codecept bootstrap. В нём содержатся предопределённые настройки, которые можно изменить.
Ниже приведены глобальные параметры, которые можно изменить в конфигурации:
-
actor_suffix: Tester: изменяет суффикс для классов Actor. Это определяет правило для генерации новых наборов тестов. Если изменитьTesterнаNinja, и сгенерировать новыйapiнабор тестов, вы получите класс актораApiNinja. -
namespace: устанавливает имя пространства имён для тестов. Все новые тесты и вспомогательные классы будут сгенерированы в этом пространстве имён. Позволяет настроить несколько наборов тестов для одного исполнителя здесь. -
include: []: включает дополнительные настройки Codeception для настроек нескольких приложений. -
pathsкаталоги, используемые Codeception. Значения по умолчанию:
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: предоставляет дополнительные параметры для исполнителя тестов. Они могут существенно изменить способ выполнения Codeception. Например, обратите внимание на параметрshuffle, который позволяет случайным образом менять порядок выполнения тестов, и на параметрlint, который включает/выключает разбор файла тестов (используяphp -l) перед его загрузкой.
settings:
# 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 to 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
# Set the error_reporting level
# You can specify either a predefined constant or an integer value
# See https://www.php.net/manual/en/function.error-reporting.php
# See https://www.php.net/manual/en/errorfunc.constants.php
error_level: E_ALL & ~E_STRICT & ~E_DEPRECATED -
modules: позволяет создавать общую конфигурацию модуля для всех включенных наборов тестов.
modules:
config:
Db:
dsn: ''
user: ''
password: ''
dump: tests/_data/dump.sql -
extends: позволяет указать файл (относительно файлаcodeception.yml), содержащий некоторые предопределённые значения. Это можно использовать для постоянного применения одной и той же конфигурации для модулей или чего-либо ещё. -
extensions: позволяет включить и настроить расширения Codeception здесь, группы объектов и пользовательские команды. -
reporters: позволяет изменить репортеры Codeception по умолчанию -
coverage: настройки CodeCoverage. -
params: позволяет передавать внешние параметры в конфигурацию модуля. -
gherkin: BDD-специфические настройки Gherkin. -
bootstrap: скрипт загрузки, который будет выполнен перед всеми наборами тестов. Скрипт должен быть помещён в каталогtests.
Конфигурация набора тестов
Каждый сгенерированный набор тестов имеет собственную конфигурацию в каталоге, заданном параметром paths: tests: в файле codeception.yml. Конфигурация каждого набора тестов имеет имя suitename.suite.yml. Это позволяет включать и настраивать модули и многое другое.
-
actor: имя класса актора для текущего набора тестов. -
modules: список включённых модулей с их конфигурацией.
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: позволяет указать файл (относительно файла*.suite.yml), содержащий некоторые предопределённые значения. Это можно использовать для постоянного применения одной и той же конфигурации для модулей или чего-либо ещё. -
namespace: пространство имён по умолчанию для актора, вспомогательных классов и тестов. -
suite_namespace: пространство имён по умолчанию для новых тестов этого набора (игнорирует параметрnamespace) -
env: переопределение любой конфигурации для определённой среды. -
groups: группы с перечнем тестов для соответствующей группы. -
formats: форматы со списком дополнительных классов форматов тестов. -
coverage: настройки CodeCoverage для каждого набора тестов. -
gherkin: настройки BDD Gherkin для каждого набора тестов. -
error_level: уровень ошибок для исполнителя в текущем наборе. Может быть задан для юнит-тестов, интеграционных и функциональных тестов. Передает значение функцииerror_reporting. Значение, специфичное для набора тестов, переопределяет глобальное значение. -
bootstrap: скрипт загрузки, который будет выполнен перед текущими наборами тестов. Скрипт должен быть помещён в каталог набора тестов.
Шаблоны конфигурации (dist)
Для обеспечения одного и того же шаблона конфигурации для вашей команды разработчиков вы можете создать файл конфигурации codeception.dist.yml, который будет загружен до codeception.yml. Конфигурация dist предоставляет общие параметры, а локальные файлы codeception.yml переопределяют их на основе каждой установки. Поэтому файл codeception.yml должен быть проигнорирован вашей системой управления версиями.
Шаблоны конфигурации также могут использоваться для конфигурации набора тестов, создав файл suitename.suite.dist.yml.
Порядок загрузки конфигурации:
codeception.dist.ymlcodeception.ymlacceptance.suite.dist.ymlacceptance.suite.yml- конфигурация среды
© 2011 Michael Bodnarchuk and contributors
Licensed under the MIT License.
https://codeception.com/docs/reference/Configuration