Class PitestOperation
- Since:
- 1.0
- Author:
- Erik C. Thauvin
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final String
False constant.protected static final String
True constant.Fields inherited from class rife.bld.operations.AbstractProcessOperation
classpath_, DEFAULT_JAVA_TOOL, errorProcessor_, errorProcessorThread_, javaOptions_, javaTool_, mainClass_, module_, modulePath_, outputProcessor_, outputProcessorThread_, process_, successful_, workDirectory_
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionLine arguments for child JVMs.avoidCallsTo
(String... avoidCallTo) List of packages and classes which are to be considered outside the scope of mutation.avoidCallsTo
(Collection<String> avoidCallsTo) List of packages and classes which are to be considered outside the scope of mutation.List of packages and classes which are to be considered outside the scope of mutation.List of packages and classes which are to be considered outside the scope of mutation.List of packages and classes which are to be considered outside the scope of mutation.classPath
(Collection<String> path) Additional classpath entries to use when looking for tests and mutable code.classPathFile
(String file) File with a list of additional classpath elements (one per line).classPathFiles
(Collection<File> path) Additional classpath entries to use when looking for tests and mutable code.classPathPaths
(Collection<Path> path) Additional classpath entries to use when looking for tests and mutable code.coverageThreshold
(int threshold) Line coverage threshold below which the build will fail.detectInlinedCode
(boolean isDetectInlinedCode) Flag to indicate if PIT should attempt to detect the inlined code generated by the java compiler in order to implementfinally
blocks.excludedClasses
(String... excludedClass) List of globs to match against class names.excludedClasses
(Collection<String> excludedClasses) List of globs to match against class names.excludedGroups
(String... excludedGroup) List of TestNG groups/JUnit categories to include in mutation analysis.excludedGroups
(Collection<String> excludedGroups) List of TestNG groups/JUnit categories to include in mutation analysis.excludedMethods
(String... excludedMethod) List of globs to match against method names.excludedMethods
(Collection<String> excludedMethods) List of globs to match against method names.excludedRunners
(String runners) JUnit4 runners to exclude.excludedTestClasses
(String... testClasses) List of globs to match against test class names.excludedTestClasses
(Collection<String> testClasses) List of globs to match against test class names.void
execute()
Part of theexecute()
operation, constructs the command list to use for building the process.exportLineCoverage
(boolean jsExport) Whether or not to dump per test line coverage data to disk.failWhenNoMutations
(boolean isFail) Whether to throw an error when no mutations found.List of features to enable/disablefeatures
(Collection<String> feature) List of features to enable/disablefromProject
(BaseProject project) Configures the operation from aBaseProject
.fullMutationMatrix
(boolean isFullMutationMatrix) Whether to create a full mutation matrixhistoryInputLocation
(File path) Path to a file containing history information for incremental analysis.historyInputLocation
(String path) Path to a file containing history information for incremental analysis.historyInputLocation
(Path path) Path to a file containing history information for incremental analysis.historyOutputLocation
(File path) Path to write history information for incremental analysis.historyOutputLocation
(String path) Path to write history information for incremental analysis.historyOutputLocation
(Path path) Path to write history information for incremental analysis.includedGroups
(String... includedGroup) list of TestNG groups/JUnit categories to include in mutation analysis.includedGroups
(Collection<String> includedGroups) list of TestNG groups/JUnit categories to include in mutation analysis.includedTestMethods
(String testMethod) Test methods that should be included for challenging the mutants.includeLaunchClasspath
(boolean isLaunchClasspath) Indicates if the PIT should try to mutate classes on the classpath with which it was launched.inputEncoding
(String encoding) Input encoding.Argument string to use when PIT launches child processes.jvmArgs
(Collection<String> args) Argument string to use when PIT launches child processes.The path to the java executable to be used to launch test with.The path to the java executable to be used to launch test with.The path to the java executable to be used to launch test with.maxMutationsPerClass
(int maxMutationsPerClass) Maximum number of surviving mutants to allow without throwing an error.maxSurviving
(int maxSurviving) Maximum number of surviving mutants to allow without throwing an error.mutableCodePaths
(File... path) List of classpaths which should be considered to contain mutable code.mutableCodePaths
(String... path) List of classpaths which should be considered to contain mutable code.mutableCodePaths
(Path... path) List of classpaths which should be considered to contain mutable code.mutableCodePaths
(Collection<String> paths) List of classpaths which should be considered to contain mutable code.mutableCodePathsFiles
(Collection<File> paths) List of classpaths which should be considered to contain mutable code.mutableCodePathsPaths
(Collection<Path> paths) List of classpaths which should be considered to contain mutable code.mutationEngine
(String engine) Mutation engine to use.mutationThreshold
(int threshold) Mutation score threshold below which the build will fail.mutationUnitSize
(int size) Maximum number of mutations to include.List of mutation operators.mutators
(Collection<String> mutators) List of mutation operators.options()
Returns the PIT options.outputEncoding
(String encoding) Output encoding.outputFormats
(File... outputFormat) A list of formats in which to write mutation results as the mutations are analysed.outputFormats
(String... outputFormat) A list of formats in which to write mutation results as the mutations are analysed.outputFormats
(Path... outputFormat) A list of formats in which to write mutation results as the mutations are analysed.outputFormats
(Collection<String> outputFormats) A list of formats in which to write mutation results as the mutations are analysed.outputFormatsFiles
(Collection<File> outputFormats) A list of formats in which to write mutation results as the mutations are analysed.outputFormatsPaths
(Collection<Path> outputFormats) A list of formats in which to write mutation results as the mutations are analysed.pluginConfiguration
(String key, String value) Custom plugin properties.projectBase
(File file) Project base.projectBase
(String file) Project base.projectBase
(Path file) Project base.Output directory for the reports.Output directory for the reports.Output directory for the reports.skipFailingTests
(boolean isSkipFail) whether to ignore failing tests when computing coverage.sourceDirs
(File... dir) The folder(s) containing the source code.sourceDirs
(String... dir) The folder(s) containing the source code.sourceDirs
(Path... dir) The folder(s) containing the source code.sourceDirs
(Collection<String> dirs) The folder(s) containing the source code.sourceDirsFiles
(Collection<File> dirs) The folder(s) containing the source code.sourceDirsPaths
(Collection<Path> dirs) The folder(s) containing the source code.targetClasses
(String... targetClass) The classes to be mutated.targetClasses
(Collection<String> targetClass) The classes to be mutated.targetTests
(String... test) A list of globs can be supplied to this parameter to limit the tests available to be run.targetTests
(Collection<String> tests) A list of globs can be supplied to this parameter to limit the tests available to be run.testStrengthThreshold
(int threshold) Test strength score below which to throw an error.threads
(int threads) The number of threads to use when mutation testing.timeoutConst
(int factor) Constant amount of additional time to allow a test to run for (after the application of the timeoutFactor) before considering it to be stuck in an infinite loop.timeoutFactor
(double factor) A factor to apply to the normal runtime of a test when considering if it is stuck in an infinite loop.timestampedReports
(boolean isTimestamped) By default, PIT will create a date and time stamped folder for its output each time it is run.useClasspathJar
(boolean isUseClasspathJar) Support large classpaths by creating a classpath jar.verbose
(boolean isVerbose) Output verbose logging.The verbosity of output.Methods inherited from class rife.bld.operations.AbstractProcessOperation
classpath, classpath, classpath, errorProcessor, errorProcessor, executeStartProcess, javaOptions, javaOptions, javaTool, javaTool, mainClass, mainClass, module, module, modulePath, modulePath, modulePath, outputProcessor, outputProcessor, process, workDirectory, workDirectory
Methods inherited from class rife.bld.operations.AbstractOperation
executeOnce, executeOnce, silent, silent
-
Field Details
-
FALSE
False constant.- See Also:
-
TRUE
True constant.- See Also:
-
-
Constructor Details
-
PitestOperation
public PitestOperation()
-
-
Method Details
-
argLine
Line arguments for child JVMs.- Parameters:
line
- the line arguments- Returns:
- this operation instance
-
avoidCallsTo
List of packages and classes which are to be considered outside the scope of mutation. Any lines of code containing calls to these classes will not be mutated.If a list is not explicitly supplied then PIT will default to a list of common logging packages as follows
- java.util.logging
- org.apache.log4j
- org.slf4j
- org.apache.commons.logging
If the feature
FLOGCALL
is disabled, this parameter is ignored and logging calls are also mutated.- Parameters:
avoidCallsTo
- the list of packages- Returns:
- this operation instance
- See Also:
-
avoidCallsTo
List of packages and classes which are to be considered outside the scope of mutation. Any lines of code containing calls to these classes will not be mutated.If a list is not explicitly supplied then PIT will default to a list of common logging packages as follows
- java.util.logging
- org.apache.log4j
- org.slf4j
- org.apache.commons.logging
If the feature
FLOGCALL
is disabled, this parameter is ignored and logging calls are also mutated.- Parameters:
avoidCallTo
- one or more packages- Returns:
- this operation instance
- See Also:
-
classPath
List of packages and classes which are to be considered outside the scope of mutation. Any lines of code containing calls to these classes will not be mutated.If a list is not explicitly supplied then PIT will default to a list of common logging packages as follows
- java.util.logging
- org.apache.log4j
- org.slf4j
- org.apache.commons.logging
If the feature
FLOGCALL
is disabled, this parameter is ignored and logging calls are also mutated. Additional classpath entries to use when looking for tests and mutable code.- Parameters:
path
- one or more paths- Returns:
- this operation instance
- See Also:
-
classPath
List of packages and classes which are to be considered outside the scope of mutation. Any lines of code containing calls to these classes will not be mutated.If a list is not explicitly supplied then PIT will default to a list of common logging packages as follows
- java.util.logging
- org.apache.log4j
- org.slf4j
- org.apache.commons.logging
If the feature
FLOGCALL
is disabled, this parameter is ignored and logging calls are also mutated. Additional classpath entries to use when looking for tests and mutable code.- Parameters:
path
- one or more paths- Returns:
- this operation instance
- See Also:
-
classPath
Additional classpath entries to use when looking for tests and mutable code.- Parameters:
path
- the list of paths- Returns:
- this operation instance
- See Also:
-
classPath
List of packages and classes which are to be considered outside the scope of mutation. Any lines of code containing calls to these classes will not be mutated.If a list is not explicitly supplied then PIT will default to a list of common logging packages as follows
- java.util.logging
- org.apache.log4j
- org.slf4j
- org.apache.commons.logging
If the feature
FLOGCALL
is disabled, this parameter is ignored and logging calls are also mutated. Additional classpath entries to use when looking for tests and mutable code.- Parameters:
path
- one or more paths- Returns:
- this operation instance
- See Also:
-
classPathFile
File with a list of additional classpath elements (one per line).- Parameters:
file
- the file- Returns:
- this operation instance
-
classPathFiles
Additional classpath entries to use when looking for tests and mutable code.- Parameters:
path
- the list of paths- Returns:
- this operation instance
- See Also:
-
classPathPaths
Additional classpath entries to use when looking for tests and mutable code.- Parameters:
path
- the list of paths- Returns:
- this operation instance
- See Also:
-
coverageThreshold
Line coverage threshold below which the build will fail. This is an integer percent (0-100) that represents the fraction of the project covered by the tests.- Parameters:
threshold
- the threshold- Returns:
- this operation instance
-
detectInlinedCode
Flag to indicate if PIT should attempt to detect the inlined code generated by the java compiler in order to implementfinally
blocks. Each copy of the inlined code would normally be mutated separately, resulting in multiple identical looking mutations. When inlined code detection is enabled PIT will attempt to spot inlined code and create only a single mutation that mutates all affected instructions simultaneously.The algorithm cannot easily distinguish between inlined copies of code, and genuine duplicate instructions on the same line within a
finally
block.In the case of any doubt PIT will act cautiously and assume that the code is not inlined.
This will be detected as two separate inlined instructions
finally { int++; int++; }
But this will look confusing so PIT will assume no in-lining is taking place.finally { int++; int++; }
This sort of pattern might not be common with integer addition, but things like string concatenation are likely to produce multiple similar instructions on the same line.Defaults to
true
- Parameters:
isDetectInlinedCode
-true
orfalse
- Returns:
- this operation instance
-
excludedClasses
List of globs to match against class names. Matching classes will be excluded from mutation.- Parameters:
excludedClass
- the excluded classws- Returns:
- this operation instance
- See Also:
-
excludedClasses
List of globs to match against class names. Matching classes will be excluded from mutation.- Parameters:
excludedClasses
- the excluded classes- Returns:
- this operation instance
- See Also:
-
excludedGroups
List of TestNG groups/JUnit categories to include in mutation analysis. Note that only class level categories are supported.- Parameters:
excludedGroup
- one or more excluded groups- Returns:
- this operation instance
- See Also:
-
excludedGroups
List of TestNG groups/JUnit categories to include in mutation analysis. Note that only class level categories are supported.- Parameters:
excludedGroups
- the excluded groups- Returns:
- this operation instance
- See Also:
-
excludedMethods
List of globs to match against method names. Methods matching the globs will be excluded from mutation.- Parameters:
excludedMethod
- one or more excluded methods- Returns:
- this operation instance
- See Also:
-
excludedMethods
List of globs to match against method names. Methods matching the globs will be excluded from mutation.- Parameters:
excludedMethods
- the excluded methods- Returns:
- this operation instance
- See Also:
-
excludedRunners
JUnit4 runners to exclude.- Parameters:
runners
- the runners- Returns:
- this operation instance
-
excludedTestClasses
List of globs to match against test class names. Matching tests will not be run (note if a test suite includes an excluded class, then it will “leak” back in).- Parameters:
testClasses
- one or more excluded tests- Returns:
- this operation instance
- See Also:
-
excludedTestClasses
List of globs to match against test class names. Matching tests will not be run (note if a test suite includes an excluded class, then it will “leak” back in).- Parameters:
testClasses
- the excluded tests- Returns:
- this operation instance
- See Also:
-
execute
- Overrides:
execute
in classAbstractProcessOperation<PitestOperation>
- Throws:
IOException
InterruptedException
ExitStatusException
-
executeConstructProcessCommandList
Part of theexecute()
operation, constructs the command list to use for building the process.- Specified by:
executeConstructProcessCommandList
in classAbstractProcessOperation<PitestOperation>
-
fromProject
Configures the operation from aBaseProject
.- Specified by:
fromProject
in classAbstractProcessOperation<PitestOperation>
- Parameters:
project
- the project to configure the operation from- Since:
- 1.5
-
exportLineCoverage
Whether or not to dump per test line coverage data to disk.Defaults to
false
- Parameters:
jsExport
-true
orfalse
- Returns:
- this operation instance
-
failWhenNoMutations
Whether to throw an error when no mutations found.Defaults to
true
- Parameters:
isFail
-true
orfalse
- Returns:
- this operation instance
-
features
List of features to enable/disable- Parameters:
feature
- the list of features- Returns:
- this operation instance
- See Also:
-
features
List of features to enable/disable- Parameters:
feature
- one or more features- Returns:
- this operation instance
- See Also:
-
fullMutationMatrix
Whether to create a full mutation matrix- Parameters:
isFullMutationMatrix
-true
orfalse
- Returns:
- this operation instance
-
historyInputLocation
Path to a file containing history information for incremental analysis.- Parameters:
path
- the path- Returns:
- this operation instance
-
historyInputLocation
Path to a file containing history information for incremental analysis.- Parameters:
path
- the path- Returns:
- this operation instance
-
historyInputLocation
Path to a file containing history information for incremental analysis.- Parameters:
path
- the path- Returns:
- this operation instance
-
historyOutputLocation
Path to write history information for incremental analysis. May be the same ashistoryInputLocation(String)
- Parameters:
path
- the path- Returns:
- this operation instance
-
historyOutputLocation
Path to write history information for incremental analysis. May be the same ashistoryInputLocation(String)
- Parameters:
path
- the path- Returns:
- this operation instance
-
historyOutputLocation
Path to write history information for incremental analysis. May be the same ashistoryInputLocation(String)
- Parameters:
path
- the path- Returns:
- this operation instance
-
includeLaunchClasspath
Indicates if the PIT should try to mutate classes on the classpath with which it was launched. If not supplied this flag defaults totrue
. If set tofalse
only classes found on the paths specified by theclassPath
Defaults to
true
- Parameters:
isLaunchClasspath
-true
orfalse
- Returns:
- this operation instance
-
includedGroups
list of TestNG groups/JUnit categories to include in mutation analysis. Note that only class level categories are supported.- Parameters:
includedGroup
- one or more included groups- Returns:
- this operation instance
- See Also:
-
includedGroups
list of TestNG groups/JUnit categories to include in mutation analysis. Note that only class level categories are supported.- Parameters:
includedGroups
- the list of included groups- Returns:
- this operation instance
- See Also:
-
includedTestMethods
Test methods that should be included for challenging the mutants.- Parameters:
testMethod
- the test method- Returns:
- this operation instance
-
inputEncoding
Input encoding.Default is
UTF-8
.- Parameters:
encoding
- the encoding- Returns:
- this operation instance
-
jvmArgs
Argument string to use when PIT launches child processes. This is most commonly used to increase the amount of memory available to the process, but may be used to pass any valid JVM argument.- Parameters:
args
- one or moe args- Returns:
- this operation instance
- See Also:
-
jvmArgs
Argument string to use when PIT launches child processes. This is most commonly used to increase the amount of memory available to the process, but may be used to pass any valid JVM argument.- Parameters:
args
- the list of args- Returns:
- this operation instance
- See Also:
-
jvmPath
The path to the java executable to be used to launch test with. If none is supplied defaults to the one pointed to byJAVA_HOME
.- Parameters:
path
- the path- Returns:
- this operation instance
-
jvmPath
The path to the java executable to be used to launch test with. If none is supplied defaults to the one pointed to byJAVA_HOME
.- Parameters:
path
- the path- Returns:
- this operation instance
-
jvmPath
The path to the java executable to be used to launch test with. If none is supplied defaults to the one pointed to byJAVA_HOME
.- Parameters:
path
- the path- Returns:
- this operation instance
-
maxMutationsPerClass
Maximum number of surviving mutants to allow without throwing an error.- Parameters:
maxMutationsPerClass
- the max number- Returns:
- this operation instance
-
maxSurviving
Maximum number of surviving mutants to allow without throwing an error.- Parameters:
maxSurviving
- the maximin number- Returns:
- this operation instance
-
mutableCodePaths
List of classpaths which should be considered to contain mutable code. If your build maintains separate output directories for tests and production classes this parameter should be set to your code output directory in order to avoid mutating test helper classes etc.If no mutableCodePath is supplied PIT will default to considering anything not defined within a jar or zip file as being a candidate for mutation.
PIT will always attempt not to mutate test classes even if they are defined on a mutable path.
- Parameters:
path
- one or one paths- Returns:
- this operation instance
- See Also:
-
mutableCodePaths
List of classpaths which should be considered to contain mutable code. If your build maintains separate output directories for tests and production classes this parameter should be set to your code output directory in order to avoid mutating test helper classes etc.If no mutableCodePath is supplied PIT will default to considering anything not defined within a jar or zip file as being a candidate for mutation.
PIT will always attempt not to mutate test classes even if they are defined on a mutable path.
- Parameters:
path
- one or one paths- Returns:
- this operation instance
- See Also:
-
mutableCodePaths
List of classpaths which should be considered to contain mutable code. If your build maintains separate output directories for tests and production classes this parameter should be set to your code output directory in order to avoid mutating test helper classes etc.If no mutableCodePath is supplied PIT will default to considering anything not defined within a jar or zip file as being a candidate for mutation.
PIT will always attempt not to mutate test classes even if they are defined on a mutable path.
- Parameters:
path
- one or one paths- Returns:
- this operation instance
- See Also:
-
mutableCodePaths
List of classpaths which should be considered to contain mutable code. If your build maintains separate output directories for tests and production classes this parameter should be set to your code output directory in order to avoid mutating test helper classes etc.If no mutableCodePath is supplied PIT will default to considering anything not defined within a jar or zip file as being a candidate for mutation.
PIT will always attempt not to mutate test classes even if they are defined on a mutable path.
- Parameters:
paths
- the list of paths- Returns:
- this operation instance
- See Also:
-
mutableCodePathsFiles
List of classpaths which should be considered to contain mutable code. If your build maintains separate output directories for tests and production classes this parameter should be set to your code output directory in order to avoid mutating test helper classes etc.If no mutableCodePath is supplied PIT will default to considering anything not defined within a jar or zip file as being a candidate for mutation.
PIT will always attempt not to mutate test classes even if they are defined on a mutable path.
- Parameters:
paths
- the list of paths- Returns:
- this operation instance
- See Also:
-
mutableCodePathsPaths
List of classpaths which should be considered to contain mutable code. If your build maintains separate output directories for tests and production classes this parameter should be set to your code output directory in order to avoid mutating test helper classes etc.If no mutableCodePath is supplied PIT will default to considering anything not defined within a jar or zip file as being a candidate for mutation.
PIT will always attempt not to mutate test classes even if they are defined on a mutable path.
- Parameters:
paths
- the list of paths- Returns:
- this operation instance
- See Also:
-
mutationEngine
Mutation engine to use.Defaults to
gregor
- Parameters:
engine
- the engine- Returns:
- this operation instance
-
mutationThreshold
Mutation score threshold below which the build will fail. This is an integer percent (0-100) that represents the fraction of killed mutations out of all mutations.Please bear in mind that your build may contain equivalent mutations. Careful thought must therefore be given when selecting a threshold.
- Parameters:
threshold
- the threshold- Returns:
- this operation instance
-
mutationUnitSize
Maximum number of mutations to include.- Parameters:
size
- the size- Returns:
- this operation instance
-
mutators
List of mutation operators.- Parameters:
mutator
- one or more mutators- Returns:
- this operation instance
- See Also:
-
mutators
List of mutation operators.- Parameters:
mutators
- the list of mutators- Returns:
- this operation instance
- See Also:
-
options
Returns the PIT options.- Returns:
- the map of options
-
outputEncoding
Output encoding.Default is
UTF-8
.- Parameters:
encoding
- the encoding- Returns:
- this operation instance
-
outputFormats
A list of formats in which to write mutation results as the mutations are analysed. Supported formats areHTML
,XML
,CSV
.Defaults to
HTML
.- Parameters:
outputFormat
- one or more output formats- Returns:
- this operation instance
- See Also:
-
outputFormats
A list of formats in which to write mutation results as the mutations are analysed. Supported formats areHTML
,XML
,CSV
.Defaults to
HTML
.- Parameters:
outputFormat
- one or more output formats- Returns:
- this operation instance
- See Also:
-
outputFormats
A list of formats in which to write mutation results as the mutations are analysed. Supported formats areHTML
,XML
,CSV
.Defaults to
HTML
.- Parameters:
outputFormat
- one or more output formats- Returns:
- this operation instance
- See Also:
-
outputFormats
A list of formats in which to write mutation results as the mutations are analysed. Supported formats areHTML
,XML
,CSV
.Defaults to
HTML
.- Parameters:
outputFormats
- the list of output formats- Returns:
- this operation instance
- See Also:
-
outputFormatsFiles
A list of formats in which to write mutation results as the mutations are analysed. Supported formats areHTML
,XML
,CSV
.Defaults to
HTML
.- Parameters:
outputFormats
- the list of output formats- Returns:
- this operation instance
- See Also:
-
outputFormatsPaths
A list of formats in which to write mutation results as the mutations are analysed. Supported formats areHTML
,XML
,CSV
.Defaults to
HTML
.- Parameters:
outputFormats
- the list of output formats- Returns:
- this operation instance
- See Also:
-
pluginConfiguration
Custom plugin properties.- Parameters:
key
- the keyvalue
- the value- Returns:
- this operation instance
-
projectBase
Project base.- Parameters:
file
- the file- Returns:
- this operations instance
-
projectBase
Project base.- Parameters:
file
- the file- Returns:
- this operations instance
-
projectBase
Project base.- Parameters:
file
- the file- Returns:
- this operations instance
-
reportDir
Output directory for the reports.- Parameters:
dir
- the directory- Returns:
- this operation instance
-
reportDir
Output directory for the reports.- Parameters:
dir
- the directory- Returns:
- this operation instance
-
reportDir
Output directory for the reports.- Parameters:
dir
- the directory- Returns:
- this operation instance
-
skipFailingTests
whether to ignore failing tests when computing coverage.Default is
false
- Parameters:
isSkipFail
-true
orfalse
- Returns:
- this operation instance
-
sourceDirs
The folder(s) containing the source code.- Parameters:
dir
- one or more directories- Returns:
- this operation instance
- See Also:
-
sourceDirs
The folder(s) containing the source code.- Parameters:
dir
- one or more directories- Returns:
- this operation instance
- See Also:
-
sourceDirs
The folder(s) containing the source code.- Parameters:
dir
- one or more directories- Returns:
- this operation instance
- See Also:
-
sourceDirs
The folder(s) containing the source code.- Parameters:
dirs
- the list of directories- Returns:
- this operation instance
- See Also:
-
sourceDirsFiles
The folder(s) containing the source code.- Parameters:
dirs
- the list of directories- Returns:
- this operation instance
- See Also:
-
sourceDirsPaths
The folder(s) containing the source code.- Parameters:
dirs
- the list of directories- Returns:
- this operation instance
- See Also:
-
targetClasses
The classes to be mutated. This is expressed as a list of globs.For example:
com.myompany.*
com.mycompany.package.*, com.mycompany.packageB.Foo, com.partner.*
- Parameters:
targetClass
- the list of target classes- Returns:
- this operation instance
- See Also:
-
targetClasses
The classes to be mutated. This is expressed as a list of globs.For example:
com.myompany.*
com.mycompany.package.*, com.mycompany.packageB.Foo, com.partner.*
- Parameters:
targetClass
- one or more target classes- Returns:
- this operation instance
- See Also:
-
targetTests
A list of globs can be supplied to this parameter to limit the tests available to be run. If this parameter is not supplied then any test fixture that matched targetClasses may be used, it is however recommended that this parameter is always explicitly set.This parameter can be used to point PIT to a top level suite or suites. Custom suites such as ClassPathSuite are supported.
- Parameters:
test
- one or more tests- Returns:
- this operation instance
- See Also:
-
targetTests
A list of globs can be supplied to this parameter to limit the tests available to be run. If this parameter is not supplied then any test fixture that matched targetClasses may be used, it is however recommended that this parameter is always explicitly set.This parameter can be used to point PIT to a top level suite or suites. Custom suites such as ClassPathSuite are supported.
- Parameters:
tests
- the list of tests- Returns:
- this operation instance
- See Also:
-
testStrengthThreshold
Test strength score below which to throw an error.- Parameters:
threshold
- the threshold- Returns:
- this operation instance
-
threads
The number of threads to use when mutation testing.- Parameters:
threads
- the threads count- Returns:
- this operation instance
-
timeoutConst
Constant amount of additional time to allow a test to run for (after the application of the timeoutFactor) before considering it to be stuck in an infinite loop.Defaults to
4000
- Parameters:
factor
- the factor amount- Returns:
- this operation instance
-
timeoutFactor
A factor to apply to the normal runtime of a test when considering if it is stuck in an infinite loop.Defaults to
1.25
- Parameters:
factor
- the factor- Returns:
- this operation instance
-
timestampedReports
By default, PIT will create a date and time stamped folder for its output each time it is run. This can can make automation difficult, so the behaviour can be suppressed by passingfalse
.Defaults to
false
- Parameters:
isTimestamped
-true
orfalse
- Returns:
- this operation instance
-
useClasspathJar
Support large classpaths by creating a classpath jar.Defaults to
false
- Parameters:
isUseClasspathJar
-true
orfalse
- Returns:
- this operation instance
-
verbose
Output verbose logging.Defaults to
false
- Parameters:
isVerbose
-true
orfalse
- Returns:
- this operation instance
-
verbosity
The verbosity of output.Defaults to
DEFAULT
- Parameters:
verbosity
- the verbosity- Returns:
- this operation instance
-