SpringRunner vs SpringBootTest

En la prueba unitaria, ¿cuáles son las diferencias entre @Runwith(SpringRunner.class)& @SpringBootTest? ¿Me puede explicar los casos de uso de cada