La anotación SpringBootTest prueba la capa de servicio

fondo

Utilice la anotación @SpringBootTest para realizar una prueba unitaria de un servicio. Al iniciar la prueba unitaria, se iniciará el contexto del proyecto. Es equivalente a llamar a la interfaz de servicio después de ejecutar la clase de inicio del proyecto.
Dependencia: prueba de inicio de arranque de primavera

Generar clases de prueba unitaria

Seleccione el serviceImpl que se va a probar, haga clic derecho para generar una clase de prueba y seleccione junit5
Insertar descripción de la imagen aquí
para generar una clase de prueba de la siguiente manera:

class UserPayServiceImplTest {
    
    

    @Test
    void pay() {
    
    
    }
}

Únase a @SpringBootTest

MyframeApplication corresponde a la clase de inicio del proyecto. Si no escribe esto, el siguiente servicio no se puede inyectar automáticamente.
Cuando se inicia la clase de prueba, primero se iniciará el proyecto y luego se ejecutará el método de prueba. En otras palabras, la prueba de clase de prueba depende del entorno de inicio del proyecto.

@SpringBootTest(
        /*MyframeApplication对应项目的启动类。如果不写这个的话,下面的service就无法自动注入。
         测试类启动时会先启动项目,再执行测试方法。也就是说测试类的测试依赖项目启动环境。*/
        classes = MyframeApplication.class,  
        /*因为测试的是service,禁用web以加快项目启动速度*/
        webEnvironment = WebEnvironment.NONE
)
class UserPayServiceImplTest {
    
    

    @Autowired
    private UserPayService userPayService; //自动注入要测试的service
    @Test
    void pay() {
    
    
        userPayService.pay(new BigDecimal(300));// 测试接口方法
    }
}

Ejecute la prueba:
Insertar descripción de la imagen aquí
ingrese con éxito el punto de interrupción del código real a través de la clase de prueba.

Supongo que te gusta

Origin blog.csdn.net/mofsfely2/article/details/115247679
Recomendado
Clasificación