@username5

Как в junit описать непредсказуемое поведение метода?

Здравствуйте, есть такой код:
public class Service{
public BigInteger getId(){
String id = get(Session.UCP);
return if != null ? new Integer(id) : Biginteger.ZERO;
}
}

Где USP - это enum. При исполнении этого кода, id может получить как null, так и некоторое значение, я заранее не знаю, что именно будет получено.

Пытаюсь написать тест метода:
@Test
void test(){
@Autowired
private Service service;

Assertions.assertEquals(BigInteger.ZERO, service.getId());
}

Проблема в том, что я не знаю как указать, чтобы в тесте метод возвращал null. Либо, указать что метод вернул какой-то BigInteger. Помогите пожалуйста, как описать тест?
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Возникшая проблема с модульным тестированием показывает, что у вашего кода проблема с модульностью. Обойти эту проблему использованием чего-нибудь типа Mockito, но лучше почитать про чистый код и переписать метод.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы