PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Вграден Postgres за пролетни тестове за зареждане

Аз съм автор на библиотеката embedded-database-spring-test, която беше спомената от @MartinVolejnik. Мисля, че библиотеката трябва да отговаря на всички ваши нужди (PostgreSQL + Spring Boot + Flyway + интеграционно тестване). Наистина съжалявам, че имате проблеми, затова създадох просто демо приложение, което демонстрира използването на библиотеката заедно с рамката на Spring Boot. По-долу обобщих някои основни стъпки, които трябва да направите.

Конфигурация на Maven

Добавете следната зависимост на maven:

<dependency>
    <groupId>io.zonky.test</groupId>
    <artifactId>embedded-database-spring-test</artifactId>
    <version>2.0.1</version>
    <scope>test</scope>
</dependency>

Конфигурация на Flyway

Добавете следното свойство към конфигурацията на приложението си:

# Sets the schemas managed by Flyway -> change the xxx value to the name of your schema
# flyway.schemas=xxx // for spring boot 1.x.x
spring.flyway.schemas=xxx // for spring boot 2.x.x

Освен това се уверете, че не използвате org.flywaydb.test.junit.FlywayTestExecutionListener . Тъй като библиотеката има свой собствен слушател за изпълнение на тестове, който може да оптимизира инициализацията на базата данни и тази оптимизация няма ефект, ако FlywayTestExecutionListener се прилага.

Пример

Пример за тестов клас, демонстриращ използването на вградената база данни:

@RunWith(SpringRunner.class)
@DataJpaTest
@AutoConfigureEmbeddedDatabase
public class SpringDataJpaAnnotationTest {

    @Autowired
    private PersonRepository personRepository;

    @Test
    public void testEmbeddedDatabase() {
        Optional<Person> personOptional = personRepository.findById(1L);

        assertThat(personOptional).hasValueSatisfying(person -> {
            assertThat(person.getId()).isNotNull();
            assertThat(person.getFirstName()).isEqualTo("Dave");
            assertThat(person.getLastName()).isEqualTo("Syer");
        });
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да инсталирате множество PostgreSQL сървъри на RedHat Linux

  2. pgAdmin III Защо резултатите от заявката се съкращават?

  3. PostgreSQL:Изберете данни с лайк на полето за време

  4. Инструмент за превод на Oracle PL/SQL в Postgresql PL/pgSQL

  5. PostgreSQL - динамична стойност като име на таблица