Estou tentando migrar meus testes de unidade do H2 para o Postgresql.
Atualmente, o H2 fornece um esquema na memória, de modo que cada conexão é mapeada para um esquema exclusivo, cria as tabelas, executa o teste e descarta o esquema. A criação e destruição do esquema são tratadas automaticamente pelo H2.
Os testes de unidade são executados simultaneamente.
Qual é a melhor maneira de fazer isso no Postgresql? Especificamente,
- Como obtenho um esquema exclusivo por conexão?
- A estrutura de teste deve gerar nomes exclusivos ou existe um mecanismo interno para fazer isso?
- Como garantir que o esquema seja descartado quando a conexão for interrompida?
- Eu não quero acabar com esquemas pendentes quando os testes de unidade são mortos.
- Qual abordagem produzirá o melhor desempenho?
- Eu preciso criar / descartar dezenas de esquemas por segundo.
ATUALIZAÇÃO : Encontrei uma resposta relacionada aqui, mas ela não descarta os esquemas caso o processo que executa os testes de unidade seja interrompido.
pg_temp
é um esquema único, certo? Então, quando eu executo testes de unidade simultâneos, eles não prejudicam as tabelas / dados um do outro?