mutationtesting
package mutationtesting
- Alphabetic
- By Inheritance
- mutationtesting
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final case class BrandingInformation(homepageUrl: String, imageUrl: Option[String] = None) extends Product with Serializable
Extra branding information about the framework used.
Extra branding information about the framework used.
- homepageUrl
URL to the homepage of the framework.
- imageUrl
URL to an image for the framework, can be a data URL.
- final case class CpuInformation(logicalCores: Int, baseClock: Option[Long] = None, model: Option[String] = None) extends Product with Serializable
- baseClock
Clock speed in MHz
- type Dependencies = Map[String, String]
Dependencies used by the framework.
Dependencies used by the framework. Key-value pair of dependencies and their versions.
- sealed trait DirOps extends MetricsResult
- sealed trait FileOps extends MetricsResult
- final case class FileResult(source: String, mutants: Seq[MutantResult], language: String = "scala") extends Product with Serializable
Mutated file
Mutated file
- source
Full source code of the mutated file, this is used for highlighting.
- mutants
All mutants in this file.
- language
Programming language that is used. Used for code highlighting, see https://prismjs.com/#examples.
- type FileResultDictionary = Map[String, FileResult]
All mutated files, with the relative path of the file as the key
- final case class FrameworkInformation(name: String, version: Option[String] = None, branding: Option[BrandingInformation] = None, dependencies: Option[Dependencies] = None) extends Product with Serializable
Extra information about the framework used
Extra information about the framework used
- name
Name of the framework used.
- version
Version of the framework used.
- branding
Extra branding information about the framework used.
- dependencies
Dependencies used by the framework. Key-value pair of dependencies and their versions.
- final case class Location(start: Position, end: Position) extends Product with Serializable
A location with start and end.
A location with start and end. Start is inclusive, end is exclusive.
- start
Starting location (inclusive).
- end
End location (exclusive).
- final case class MetricMutant(status: MutantStatus) extends Product with Serializable
- final case class MetricsDirectory(dirName: String, files: Iterable[MetricsResult]) extends MetricsResult with DirOps with Product with Serializable
- final case class MetricsFile(fileName: String, mutants: Iterable[MetricMutant]) extends MetricsResult with FileOps with Product with Serializable
- sealed trait MetricsResult extends AnyRef
- final case class MetricsResultRoot(files: Iterable[MetricsResult]) extends MetricsResult with DirOps with Product with Serializable
- final case class MutantResult(id: String, mutatorName: String, replacement: String, location: Location, status: MutantStatus, statusReason: Option[String] = None, description: Option[String] = None, coveredBy: Option[Seq[String]] = None, killedBy: Option[Seq[String]] = None, testsCompleted: Option[Int] = None, static: Option[Boolean] = None) extends Product with Serializable
Single mutation.
Single mutation.
- id
Unique id, can be used to correlate this mutant with other reports.
- mutatorName
Category of the mutation.
- replacement
Actual mutation that has been applied.
- location
A location with start and end. Start is inclusive, end is exclusive.
- status
Result of the mutation.
- statusReason
The reason that this mutant has this status. In the case of a killed mutant, this should be filled with the failure message(s) of the failing tests. In case of an error mutant, this should be filled with the error message.
- description
Description of the applied mutation.
- coveredBy
The test ids that covered this mutant. If a mutation testing framework doesn't measure this information, it can simply be left out.
- killedBy
The test ids that killed this mutant. It is a best practice to "bail" on first failing test, in which case you can fill this array with that one test.
- testsCompleted
The number of tests actually completed in order to test this mutant. Can differ from
coveredBy
because of bailing a mutant test run after first failing test.- static
A static mutant means that it was loaded once at during initialization, this makes it slow or even impossible to test, depending on the mutation testing framework.
- sealed trait MutantStatus extends Product with Serializable
Result of the mutation.
- final case class MutationTestResult[+C]($schema: Option[String] = Some(
"https://git.io/mutation-testing-schema"
), schemaVersion: String = "1", thresholds: Thresholds, projectRoot: Option[String] = None, files: FileResultDictionary, testFiles: Option[TestFileDefinitionDictionary] = None, performance: Option[PerformanceStatistics] = None, framework: Option[FrameworkInformation] = None, system: Option[SystemInformation] = None, config: Option[C] = None) extends Product with SerializableSchema for a mutation testing report
Schema for a mutation testing report
- C
type of the config object
- $schema
URL to the JSON schema.
- schemaVersion
Major version of this report. Used for compatibility.
- thresholds
Thresholds for the status of the reported application.
- projectRoot
The optional location of the project root.
- files
All mutated files.
- testFiles
Test file definitions by file path OR class name.
- performance
The performance statistics per phase. Total time should be roughly equal to the sum of all these.
- framework
Extra information about the framework used.
- system
Information about the system that performed mutation testing.
- config
Free-format object that represents the configuration used to run mutation testing.
- final case class OSInformation(platform: String, description: Option[String] = None, version: Option[String] = None) extends Product with Serializable
- platform
Platform identifier
- description
Human-readable description of the OS
- version
Version of the OS or distribution
- final case class OpenEndLocation(start: Position, end: Option[Position] = None) extends Product with Serializable
A mutationtesting.Location where
end
is not required.A mutationtesting.Location where
end
is not required. Start is inclusive, end is exclusive.- start
Starting location (inclusive).
- end
End location (exclusive).
- final case class PerformanceStatistics(setup: Long, initialRun: Long, mutation: Long) extends Product with Serializable
The performance statistics per phase.
The performance statistics per phase. Total time should be roughly equal to the sum of all these.
- setup
Time it took to run the setup phase in milliseconds.
- initialRun
Time it took to run the initial test phase (dry-run) in milliseconds.
- mutation
Time it took to run the mutation test phase in milliseconds.
- final case class Position(line: Int, column: Int) extends Product with Serializable
Position of a mutation.
Position of a mutation. Both line and column start at one.
- final case class RamInformation(total: Long) extends Product with Serializable
- total
The total RAM of the system that performed mutation testing in MB. On the JVM, this can be the amount of memory available to the JVM instead of the system memory.
- final case class SystemInformation(ci: Boolean, os: Option[OSInformation] = None, cpu: Option[CpuInformation] = None, ram: Option[RamInformation] = None) extends Product with Serializable
Information about the system that performed mutation testing
Information about the system that performed mutation testing
- ci
Did mutation testing run in a Continuous Integration environment (pipeline)? Note that there is no way of knowing this for sure. It's done on a best-effort basis.
- final case class TestDefinition(id: String, name: String, location: Option[OpenEndLocation]) extends Product with Serializable
A test in your test file.
A test in your test file.
- id
Unique id of the test, used to correlate what test killed a mutant.
- name
Name of the test, used to display the test.
- location
A mutationtesting.Location where
end
is not required
- final case class TestFile(tests: Seq[TestDefinition], source: Option[String] = None) extends Product with Serializable
A file containing one or more tests
A file containing one or more tests
- tests
The tests contained in this test file.
- source
Full source code of the test file. This can be used to display in the report.
- type TestFileDefinitionDictionary = Map[String, TestFile]
Test file definitions by file path OR class name.
- final case class Thresholds(high: Int, low: Int) extends Product with Serializable
Thresholds for the status of the reported application.
Thresholds for the status of the reported application.
Suggested method for creating a Thresholds object is by the 'smart'
create
constructor in the companion object- high
Higher bound threshold.
- low
Lower bound threshold.
Value Members
- object Metrics
- object MutantStatus extends Serializable
- object Thresholds extends Serializable