Встречается на собеседованиях • сегодня

Можно ли в одном тесте протестировать разный результат метода

Да, можно, но это не рекомендуется, так как нарушает принцип "один тест — одна проверка". Лучше разбить на отдельные тесты для каждого ожидаемого результата. Однако, если нужно, можно использовать параметризованные тесты (JUnit 5):

java
@ParameterizedTest
@ValueSource(ints = {1, 2, 3})
void testDifferentResults(int input) {
    int result = methodUnderTest(input);
    assertTrue(result > 0); // разные проверки для разных input
}

Или явно проверять разные случаи в одном тесте (менее предпочтительно):

java
@Test
void testMultipleScenarios() {
    assertEquals(1, methodUnderTest("case1"));
    assertEquals(2, methodUnderTest("case2"));
}

Главное — чтобы тест оставался читаемым и при падении было сразу понятно, какой именно сценарий не работает.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы