Red de conocimientos turísticos - Conocimientos sobre calendario chino - Pruebas unitarias de mybatis separadas en springboot

Pruebas unitarias de mybatis separadas en springboot

Las pruebas unitarias con un @SpringBootTest normal iniciarán la aplicación completa, de la misma manera que iniciar el proyecto normalmente. Esto lleva mucho tiempo.

Aquí comienza la prueba. También inicia el nivel web. De hecho, no es necesario iniciarlo en absoluto.

Solo necesitamos iniciar el dao. Aquí usamos la dependencia mybatis-spring-boot-starter-test

Ejemplo de prueba

Imprimir sql

1, java.lang.IllegalStateException: No se puede encontrar @ SpringBootConfiguration, debes usar @ContextConfiguration o @SpringBootTest(classes=...) en la prueba

Debe colocarse en el mismo paquete de nivel que el método principal de springboot

2. El motivo es: org.springframework.beans.BeanInstantiationException: no se pudo crear una instancia [com.zaxxer.hikari.HikariDataSource]: el método de fábrica 'dataSource' arrojó una excepción anidada es org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; $DataSourceBeanCreationException: no se pudo determinar una clase de controlador adecuada

Es realmente difícil implementar esto en todos los proyectos. Se recomienda utilizar @SpringBootTest

Se debe configurar una única fuente de datos ordinaria de la siguiente manera: spring.datasource.url; de lo contrario, el atributo 'url' del error de inicio de la prueba unitaria no se puede especificar y la fuente de datos incrustada no puede configurarse.

Si hay varias fuentes de datos, configúrelas de la siguiente manera: spring.datasource.druid.master.url;