Skip to content

Conversation

@snakeage
Copy link

@snakeage snakeage commented Oct 9, 2025

Подключил библиотеки Jococo, Junit4, Mockito. Провел тестирование класса Burger, по результатам отчета Jococo составило 100%

private Bun bun;

@Mock
private Ingredient ingredient1;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⛔️Нужно исправить. При нейминге не рекомендуется использовать числа (Field2), их еще называют magicNumbers. Очень тяжело поддерживать код с magicNumbers.

burger = new Burger();
}

@Parameterized.Parameters

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️Можно улучшить. В параметризованных тестах для аннотации Parameterized.Parameters лучше использовать аргумент name: @Parameterized.Parameters(name = "Тестовые данные: {0} {1}"), где {0}, {1} - индексы параметров. Это повысит информативность проверки

public void testSetBuns() {
when(bun.getName()).thenReturn(bunName);
when(bun.getPrice()).thenReturn(bunPrice);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⛔️Нужно исправить. Тесты, где не нужна параметризация, нужно вынести в отдельный класс. Мы не должны их запускать несколько раз


burger.addIngredient(ingredient1);

assertEquals(1, burger.ingredients.size());

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⛔️Нужно исправить. Для юнит-тестов придерживаемся подхода: один тест, значит одна проверка. Если очень хочется несколько проверок -- тогда используем softAssertions. Поправь, пожалуйста, во всем коде

…tests into BurgerTest and BurgerSimpleTest, update .gitignore
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants