Spec-Zone.ru › Codeception

Настройка

Глобальная настройка

Файл конфигурации 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.

Порядок загрузки конфигурации:

  1. codeception.dist.yml
  2. codeception.yml
  3. acceptance.suite.dist.yml
  4. acceptance.suite.yml
  5. конфигурация среды

© 2011 Michael Bodnarchuk and contributors
Licensed under the MIT License.
https://codeception.com/docs/reference/Configuration

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API