У меня есть метод в классе, для которого я пытаюсь написать модульный тест. для. См. ниже:
Код: Выделить всё
public class MyServiceImpl extends MyServiceBase implements MyService {
@Override
@Transactional
public void deletePerson(long id) {
Person person = findOrThrow(Person.class, id);
entityManager.remove(person);
}
}
Я пытался собрать модульные тесты, либо читая документацию, либо используя ChatGPT для помощи с объяснениями, и у меня кружится голова от количества предлагаемых направлений. Я действую исходя из предположения, что мне нужно каким-то образом «издеваться» или контролировать то, что возвращается при вызове findOrThrow, но это приводит к проблемам - я получаю ошибку компиляции, сообщающую, что findOrThrow защищен. ChatGPT предлагает мне шпионить за MyService, но это не помогает устранить ошибку компиляции.
Я просто даже не уверен, что это правильный подход. Я ищу что-то простое, что не только позволит протестировать мой метод deletePerson, но и поможет мне новичку понять, как писать модульные тесты и имитировать объекты, а также управлять методами внутри метода, который я тестирую.
С чего начать? Есть ли у кого-нибудь предложения о том, как написать для этого модульный тест? Правильно ли я об этом думаю или придерживаюсь неправильного подхода?
Какой здесь правильный подход?
Подробнее здесь: https://stackoverflow.com/questions/792 ... with-junit