Primavera Bota teste usando no db memória

votos
26

Eu criei um projeto Spring web usando Spring Bota. Gostaria de entender a prática em torno de testes. I exigem um banco de dados em memória embutida HSQL ou h2 dizer para os meus junits com schema.sql inicial. E à aplicação principal do banco de dados poderia ser dizer mysql ou Oracle

Em um projeto não Bota Spring, que normalmente têm um applicationContext.xml separado, que é referido pelo aplicativo web e para testes usaríamos applicationContext-Text.xml

Agora, no arranque da Primavera, como tudo é criado automaticamente e Primavera de inicialização é opiniated também. Gostaria de saber como faço para configurar ter um db InMemory embutido para Junits e um db externo, como MySQL para a aplicação.

Uma solução que eu posso pensar é usando perfis. com 2 arquivo de propriedades application.properties e application-test.properties. e usar perfil de teste para os meus junits.

Qualquer recomendação sobre a abordagem que deve tomar.

Publicado 26/10/2013 em 06:43
fonte usuário
Em outras línguas...                            


1 respostas

votos
37

Um perfil é, de fato, a abordagem recomendada. O que eu faria é, provavelmente, tornar obrigatória a aplicação na memória do perfil de "default" (é inofensivo, no sentido de que você nunca alterar quaisquer dados reais, por isso é melhor para fazer que o padrão no caso de alguém acidentalmente executa-lo contra um banco de dados reais ). Pessoalmente, eu prefiro colocar toda a configuração externa em um único application.ymlarquivo, mas isso é realmente até você. Na configuração externa que você precisa fornecer uma classe motorista válida e URL, por exemplo,

spring:
  datasource:
    driverClassName: org.h2.Driver
    url: jdbc:h2:mem:test;MODE=PostgreSQL
    schema: classpath:/schema.sql

---

spring:
  profiles: local
  datasource:
    url: jdbc:postgresql://localhost/test
    username: root
    password: changeme
    driverClassName: org.postgresql.Driver
    schema:

(Note que H2 tem um modo de compatibilidade postgres, por isso é muito bom como um complemento para postgres na produção.)

Respondeu 04/11/2013 em 15:16
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more