Attachments
March 10, 2018 ยท View on GitHub
Here are informations about how you can write plugins.
Summary
About
When you want to extend the runner, but you don't want to add a dependency to your dub.json file, you
can write a plugin. This is a way of extending the test run with external libraries that are published on
code.dlang.org.
To attach a plugin to your run, run:
trial -p plugin1,plugin2,plugin3...
Example plugin
module trialcustom.plugin;
import trial.interfaces;
/// Add your listeners to the Trial lifecycle
static this() {
LifeCycleListeners.instance.add(new TrialCustomPlugin());
}
/// Implement your listeners
class RazerReporter : ITestCaseLifecycleListener, ILifecycleListener {
...
}
If you want to see a complete list of the listeners that you can implement, check the interfaces api page.
Module names
Your plugin can have - and : in the name. The : will add as a dependency a subpackage. In order to have your module
initialized, Trial will import your module in the generated main file. For example:
trial -p my-plugin:core
will download the core subpackage from my-plugin package, and it will import myplugin.core in the main file.