Cucumber integration for mutation testing tool PIT
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Build Status

Cucumber PIT integration plugin

Out of the box mutation testing tool PIT does not take in account cucumber features and scenarios to kill mutants in your code.
The purpose of this plugin is to make PIT use your cucumber scenarios the same way it use already your regular junit tests.


Today, PIT plugins require maven or Gradle. You cannot for the moment use this plugin with the PIT command line interface.



Just add this plugin as a maven dependency of PIT maven plugin. Below an example:


Then as usual you just need to run pit using the following command:

mvn org.pitest:pitest-maven:mutationCoverage


Just create pitest configuration and add this plugin as a dependency in a buildscript block in your root Gradle project. Below an example:

buildscript {
   repositories {
   dependencies {
       classpath 'info.solidsoft.gradle.pitest:gradle-pitest-plugin:1.1.10'
       pitest 'com.github.alexvictoor:pitest-cucumber-plugin:0.5'

Then as usual you just need to run pit using the following command:

gradle pitest

See PIT plugin for Gradle README for more general configuration parameters.

Compatibility Matrix

Pitest Cucumber Plugin tested against Cucumber with Pitest Maven Plugin
0.1 1.1.8 1.1.5
0.2 1.2.2 1.1.5
0.3 1.2.2 1.1.5
0.4 1.2.2 1.1.11
0.5 1.2.2 1.4.2
0.6 2.0.0 - 3.0.2 1.4.2


Before raising an issue on github or in the PIT's users mailing-list, please try to run the analysis in verbose mode. You just need to add a verbose flag in the configuration section of the maven plugin:


If you are updating a project that was using pitest 1.1, be aware of the "testPlugin" config key in the maven configuration block:


If you forget this one, the pitest cucumber plugin will not be used and no test will be run...