Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro ao rodar teste

ao rodar um teste no eclipse esta dando o seguinte erro :

java.lang.IllegalStateException: Failed to load ApplicationContext for [MergedContextConfiguration@4824d077 testClass = med.voll.api.domain.doctor.DoctorRepositoryTest, locations = [], classes = [med.voll.api.ApiApplication], contextInitializerClasses = [], activeProfiles = ["test"], propertySourceLocations = [], propertySourceProperties = ["org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTestContextBootstrapper=true"], contextCustomizers = [[ImportsContextCustomizer@6ae1d5f1 key = [org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration, org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration, org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration, org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration, org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration, org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration, org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration, org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration, org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration, org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration, org.springframework.boot.test.autoconfigure.jdbc.TestDatabaseAutoConfiguration, org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManagerAutoConfiguration]], org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@7674b62c, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@45a4b042, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.autoconfigure.OverrideAutoConfigurationContextCustomizerFactory$DisableAutoConfigurationContextCustomizer@7cbd9d24, org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.filter.TypeExcludeFiltersContextCustomizer@351584c0, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@404efab6, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer@7c214cc0, org.springframework.boot.test.context.SpringBootTestAnnotation@352066a], contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null]

classe de teste :

package med.voll.api.domain.doctor;


import org.junit.jupiter.api.Test;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.test.context.ActiveProfiles;

@DataJpaTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@ActiveProfiles("test")
class DoctorRepositoryTest {

    @Test
    void testChooseRandomDoctorFreeOnDate() {
        
    }

}
2 respostas

Oi

O erro que você está enfrentando ao rodar o teste parece estar relacionado a problemas na inicialização do contexto de aplicação Spring durante a execução do teste. Isso geralmente ocorre quando há conflitos de configuração ou problemas na configuração do ambiente de teste.

java.lang.IllegalStateException: Failed to load ApplicationContext for [MergedContextConfiguration@4824d077 testClass = med.voll.api.domain.doctor.DoctorRepositoryTest, locations = [], classes = [med.voll.api.ApiApplication], ...

O erro diz que o contexto de aplicação falhou em carregar para a classe DoctorRepositoryTest e menciona a classe ApiApplication. Isso sugere que pode haver um problema na configuração da aplicação de teste. Aqui estão algumas dicas para resolver esse problema:

  1. Verifique as dependências: Certifique-se de que todas as dependências necessárias estão configuradas corretamente no seu projeto. Verifique seu arquivo pom.xml (se estiver usando o Maven) ou build.gradle (se estiver usando o Gradle) para garantir que todas as dependências necessárias estejam no local e nas versões corretas.

  2. Configuração de banco de dados de teste: Como você está usando @DataJpaTest com @AutoConfigureTestDatabase, verifique se a configuração do banco de dados de teste está correta. Certifique-se de que a configuração do banco de dados de teste no arquivo application.properties ou application.yml esteja correta.

  3. Configuração de perfis ativos: Você está usando o perfil "test" (@ActiveProfiles("test")). Certifique-se de que a configuração para o perfil de teste esteja correta e que todas as propriedades de configuração estejam configuradas adequadamente.

  4. Verifique a classe ApiApplication: Certifique-se de que a classe ApiApplication esteja configurada corretamente e que todas as configurações de inicialização estejam corretas.

  5. Verifique outras configurações personalizadas: Se você tiver outras configurações personalizadas na sua aplicação, verifique se elas estão configuradas corretamente e não estão causando conflitos.

  6. Logs e detalhes de erro: Verifique os logs detalhados da execução do teste para obter informações adicionais sobre o erro. Isso pode ajudar a identificar a causa raiz.

Se depois de verificar esses pontos você ainda não conseguir resolver o problema, pode ser necessário fornecer mais informações sobre a configuração da sua aplicação e a pilha de erros completa para obter assistência mais específica.

solução!

Após muita pesquisa consegui arrumar o erro, para isso apenas adicionei a anotação @EnableJpaRepositories na classe de teste e funcionou. Mesmo assim, obrigado pela resposta.