es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo se simula un servicio que consta de Autowired y RequiredArgsConstructor en JUnit 5?

@RequiredArgsConstructor
public class GService {

@Autowired
private GRepository repository;

private final List<grule> rules;

}

Y mi clase de prueba se ve así:

@ExtendWith(MockitoExtension.class)
class GServiceTest {

@InjectMocks
private GService service;

@Mock
private GRepository repository;

@Mock
private List<grule> rules;

}

Las reglas están bien, pero el repositorio no se inicializa y queda en null. ¿Cómo puedo inicializar el repositorio?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para inicializar el repositorio, puede agregar la siguiente línea de código en el método de configuración de la clase de prueba:

    @BeforeEach
    public void setup() {
        MockitoAnnotations.initMocks(this);
        service = new GService(repository, rules);
    }
    

    Esto creará una nueva instancia de GService con los repositorios y reglas simulados. Asegúrese de anotar el método de configuración con @BeforeEach para asegurarse de que se ejecute antes de cada método de prueba.

Comments are closed.