All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.cucumber.plugin.Plugin Maven / Gradle / Ivy

There is a newer version: 7.18.1
Show newest version
package io.cucumber.plugin;

import org.apiguardian.api.API;

import java.io.File;
import java.net.URI;
import java.net.URL;

/**
 * Marker interface for all plugins.
 * 

* A plugin can be added to the runtime to listen in on step definition, summary * printing and test execution. *

* Plugins are added to the runtime from the command line or by annotating a * runner class with {@code @CucumberOptions} and may be provided with a * parameter using this syntax {@code com.example.MyPlugin:path/to/output.json}. * To accept this parameter the plugin must have a public constructor that * accepts one of the following arguments: *

    *
  • {@link String}
  • *
  • {@link Appendable}
  • *
  • {@link URI}
  • *
  • {@link URL}
  • *
  • {@link File}
  • *
*

* To make the parameter optional the plugin must also have a public default constructor. *

* Plugins may also implement one of these interfaces: *

    *
  • {@link ColorAware}
  • *
  • {@link StrictAware}
  • *
  • {@link EventListener}
  • *
  • {@link ConcurrentEventListener}
  • *
  • {@link SummaryPrinter}
  • *
*/ @API(status = API.Status.STABLE) public interface Plugin { }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy