Как бороться с защищенными методами при написании модульных тестов с помощью JUnitJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как бороться с защищенными методами при написании модульных тестов с помощью JUnit

Сообщение Anonymous »

Я новичок в написании модульных тестов, и мне трудно понять многие связанные с этим концепции.
У меня есть метод в классе, для которого я пытаюсь написать модульный тест. для. См. ниже:

Код: Выделить всё

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

Подробнее здесь: https://stackoverflow.com/questions/792 ... with-junit
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»