Skip to content

Infection Extension Installer (autodiscovery of Infection extensions)

License

Notifications You must be signed in to change notification settings

infection/extension-installer

Repository files navigation

CI Coverage Status

Infection - Extensions Installer

Composer plugin for automatic registering of Infection extensions.

How to install extension

Extension installer is bundled together with Infection core. All you need to register a custom extension is just to install a composer package.

Extension will be registered automatically.

Infection Extension Installer listens post-install-cmd and post-update-cmd events and as soon as it finds an Infection extension, it automatically registers it in Infection.

composer require --dev infection/codeception-adapter

Using version 1.0.0 for infection/codeception-adapter
Package operations: 1 installs, 0 updates, 0 removals
  - Installing infection/codeception-adapter (1.0.0): Downloading 100%

infection/extension-installer: Extensions installed
> infection/codeception-adapter: installed

How to write an extension for Infection

Infection extension is a composer-based package. Basically it is a composer package which conforms to the following requirements:

  • its type field is set to infection-extension
  • it has extra.infection.class subkey in its composer.json that references a class that will be invoked in the Infection runtime.

Example:

{
    "name": "infection/codeception-adapter",
    "type": "infection-extension",
    "extra": {
        "infection": {
            "class": "Infection\\TestFramework\\Codeception\\CodeceptionAdapterFactory"
        }
    }
}

Supported extensions types

Currently, Infection supports only Test Framework extensions (example).

Available extensions

All Infection extensions can be discovered on Packagist.

Infection - Mutation Testing Framework

Please read documentation here: infection.github.io

Twitter: @infection_php