diff --git a/README.md b/README.md index 88a22445..64193fad 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,14 @@ After starting the Spring Boot application (i.e. mvn spring-boot:run or via your The source code of this test in at test/java/com/aidanwhiteley/books/loadtest/StressTestSimulation.java. The checked in config ensures that, by default, the number of request per second is low enough not to stress an average PC. +#### Mutation Tests +There is support for mutation testing using the [Pitest](https://pitest.org/) library. +To try it out use something similar to +`mvn -Ppitest -DwithHistory=true -DtargetClasses="com.aidanwhiteley.books.service.*" test` +Be warned, the first run will take a long time (many minutes) - especially if the glob for targetClasses is wide. Subsequent runs should be much quicker. +Unfortunately, this mutation support wasn't in place when the tests were originally written meaning that the +current test suite have some tests that survive too many mutations! The mutation test code is there for any new code. + ### How to build and run This project makes use of the excellent Lombok project. So to build in your favourite IDE, if necessary diff --git a/pom.xml b/pom.xml index 478c7287..27249df5 100644 --- a/pom.xml +++ b/pom.xml @@ -7,12 +7,13 @@ com.aidanwhiteley books - 0.50.4-RELEASE + 0.50.5-RELEASE jar Books Microservice A simple project to remind myself what books Ive read recently! Also a technology sampler using the - latest Spring Boot, oauth based logons, JWTs, stateless in the HTTP layer, Spring Boot admin, Mongo, Docker and docker-compose + latest Spring Boot, oauth based logons, JWTs, stateless in the HTTP layer, Spring Boot admin, Mongo, Docker and + docker-compose @@ -33,7 +34,7 @@ org.springframework.boot spring-boot-starter-parent 3.3.5 - + @@ -45,7 +46,8 @@ com.aidanwhiteley:books aidanwhiteley-github https://sonarcloud.io - ${project.build.directory}/site/jacoco/jacoco.xml + ${project.build.directory}/site/jacoco/jacoco.xml + @@ -271,7 +273,7 @@ openjdk:21-jdk - + aidanwhiteley/books-api-java @@ -308,8 +310,43 @@ @{argLine} -javaagent:${net.bytebuddy:byte-buddy-agent:jar} - + + + pitest + + + + org.pitest + pitest-maven + 1.15.2 + + + pitest + test + + mutationCoverage + + + + + false + false + STRONGER + + + + org.pitest + pitest-junit5-plugin + 1.2.1 + + + + + + + + \ No newline at end of file