mirror of
				https://github.com/spring-projects/spring-data-elasticsearch.git
				synced 2025-10-31 06:38:44 +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.*"
 | |
| ----
 |