I have a Spring Boot application with Spring Data Rest and I use @WebIntegrationTest
along with the TestRestTemplate
in my integration tests. The base class for the tests looks something like this:
@RunWith(SpringJUnit4ClassRunner.class)
@ActiveProfiles(profiles = "test")
@SpringApplicationConfiguration(classes = Application.class)
@Transactional
@TransactionConfiguration
@WebIntegrationTest("server.port: 0")
public abstract class IntegrationTest {
...
}
I was testing the creation of an entity by using the TestRestTemplate
to perform a POST
request to a resource. The problem is that the transaction that persists the entity on the database is not rolled back even thought my tests are configured to be transactional, so the entity remains on the database after the test. I kind of understand that because the transaction being rolled back in the test is not the same one persisting the entity.
Now my question is, is there any way of rolling back the transactions triggered by the requests made through the RestTemplate
in a test method?
Aucun commentaire:
Enregistrer un commentaire