Как нам выполнить очистку базы данных между тестами Junit?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как нам выполнить очистку базы данных между тестами Junit?

Сообщение Anonymous »

Ниже приведены некоторые классы, поддерживающие функциональность @TestContainers

Код: Выделить всё

package com.changeorama.solidify;

import static org.junit.Assert.assertTrue;

import org.junit.jupiter.api.Test;
....

@Testcontainers
public class AbstractTest {

@Container
private static final PostgreSQLContainer postgres = new PostgreSQLContainer();

static {
postgres.start();
}

@Test
void testPostgresIsRunning() {
assertTrue(postgres.isRunning());
}

@DynamicPropertySource
static void postgreSQLProperties(DynamicPropertyRegistry registry) {
registry.add("spring.datasource.url", postgres::getJdbcUrl);
registry.add("spring.datasource.username", postgres::getUsername);
registry.add("spring.datasource.password", postgres::getPassword);
}

}

Код: Выделить всё

package com.changeorama.solidify.repository;

import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import java.util.List;
import org.junit.jupiter.api.Test;
....

import lombok.extern.slf4j.Slf4j;

@Slf4j
@ActiveProfiles(profiles = "test")
@DataJpaTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
public class CompartmentRepositoryTest extends AbstractTest{

@Autowired
CompartmentRepository compRepository;

@Test
void testSaveCompartment() {
//Load test data
CompartmentEntity comp = new CompartmentEntity();
comp.setCompartmentId(12);
comp.setCompartmentName(“Comp abc”);
comp.setCompartmentSize(12);

compRepository(comp);

}

@Test
void testGetAllCompartments() {

List comps = compRepository.findAll();
assertThat(comps.isEmpty(), is(false));
}

}

Есть ли способ очистить данные между тестами, которые выполняются в одном и том же наборе тестов с помощью подхода @Testcontainers?
Есть ли у нас возможность выполнять очистку базы данных между тестами?
Можно ли в любом случае выполнить очистку данных вручную, если это невозможно с помощью @TestContainers?

Подробнее здесь: https://stackoverflow.com/questions/640 ... unit-tests
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»