mirror of
https://github.com/spring-projects/spring-data-elasticsearch.git
synced 2025-05-29 00:02:10 +00:00
42 lines
1.7 KiB
Plaintext
42 lines
1.7 KiB
Plaintext
= Testing
|
|
|
|
== Unit tests
|
|
|
|
Unit tests in the project are run with
|
|
|
|
----
|
|
./mvnw test
|
|
----
|
|
|
|
== Integration tests
|
|
|
|
Integration tests are executed when
|
|
----
|
|
./mvnw verify
|
|
----
|
|
is run. There must be _docker_ running, as the integration tests use docker to start an Elasticsearch server.
|
|
|
|
Integration tests are tests that have the Junit5 Tag `@Tag("integration-test")` on the test class. Normally this should not be set explicitly, but the annotation `@SpringIntegrationTest` should be used. This not only marks the test as integration test, but integrates an automatic setup of an Elasticsearch Testcontainer and integrate this with Spring, so
|
|
that the required Beans can be automatically injected. Check _src/test/java/org/springframework/data/elasticsearch/JUnit5SampleRestClientBasedTests.java_ as a reference setup
|
|
|
|
== Mutation testing
|
|
|
|
The pom includes a plugin dependency to run mutation tests using [pitest](https://pitest.org/). These tests must be explicitly configured and run, they are not included in the normal build steps. Before pitest can run, a normal `./mvnw test` must be executed. The configuration excludes integration tests, only unit tests are considered.
|
|
|
|
|
|
pitest can be run directly from the commandline
|
|
----
|
|
./mvnw org.pitest:pitest-maven:mutationCoverage
|
|
----
|
|
This will output an html report to _target/pit-reports/YYYYMMDDHHMI_.
|
|
|
|
To speed-up repeated analysis of the same codebase set the withHistory parameter to true.
|
|
----
|
|
./mvnw -DwithHistory org.pitest:pitest-maven:mutationCoverage
|
|
----
|
|
|
|
The classes to test are defined either in the pom.xml or can be set on the commandline:
|
|
----
|
|
./mvnw -DwithHistory org.pitest:pitest-maven:mutationCoverage -DtargetClasses="org.springframework.data.elasticsearch.support.*"
|
|
----
|