← Artefactos
ISIS2603 · Pruebas Unitarias

Pruebas con JUnit

Spring Boot · Mockito · Testing de la capa de servicios

Configuración de la clase de prueba

Cada clase de pruebas requiere anotaciones específicas para integrarse con el contexto de Spring y JPA.

CompanyServiceTest.java — anotaciones
@DataJpaTest @Transactional @Import(CompanyService.class) public class CompanyServiceTest {   @Autowired   private CompanyService companyService;   @Autowired   private TestEntityManager entityManager;   private PodamFactory factory =       new PodamFactoryImpl();   private List<CompanyEntity> companyList =       new ArrayList<>(); }

¿Qué hace cada anotación?

  • @DataJpaTest — Carga solo la configuración necesaria para pruebas de JPA. Desactiva el servidor web y carga solo las capas de BD.
  • @Transactional — Cada prueba se ejecuta en una transacción que se revierte al terminar, dejando la BD limpia.
  • @Import(CompanyService.class) — Importa el servicio bajo prueba al contexto de Spring para que pueda ser inyectado.
  • @Autowired — Spring inyecta automáticamente las dependencias marcadas (servicio, entityManager).