Conversation
Timur-Rylin
commented
Feb 17, 2026
- В каждом тесте есть assert
- Убран нейминг с числами (ingredientMock1 → sauceMock, fillingMock)
- Каждый тест проверяет только одно утверждение
- Добавлен @rule для устранения UnnecessaryStubbingException
- В параметризованные тесты добавлен параметр name
- Добавлены файлы jacoco
- Полное тестовое покрытие класса Burger - Использованы Mockito и параметризация - Обнаружены 4 типа ошибок в приложении - 75 тестов, 23 показывают реальные баги - Настроен JaCoCo с проверкой 100% покрытия
- Убран нейминг с числами (ingredientMock1 → sauceMock, fillingMock) - Каждый тест проверяет только одно утверждение - Добавлен @rule для устранения UnnecessaryStubbingException - В параметризованные тесты добавлен параметр name - Добавлены файлы jacoco
| } | ||
|
|
||
| @Test | ||
| public void testMoveIngredientNegativeNewIndexThrowsException() { |
There was a problem hiding this comment.
⛔️Нужно исправить. В тестах нет проверок
| @Test | ||
| public void testAddIngredient() { | ||
| burger.addIngredient(sauceMock); | ||
| assertEquals(1, burger.ingredients.size()); |
There was a problem hiding this comment.
⛔️Нужно исправить. Для юнит-тестов придерживаемся подхода: один тест, значит одна проверка. Если очень хочется несколько проверок -- тогда используем softAssertions. Поправь, пожалуйста, во всем коде
| burger.addIngredient(sauceMock); | ||
|
|
||
| String receipt = burger.getReceipt(); | ||
| assertTrue(receipt.contains("Complete Bun")); |
There was a problem hiding this comment.
⛔️Нужно исправить. Строку рецепта проверяем целиком, чтобы не пропустить ошибки форматирования
|
|
||
| @Test | ||
| public void testRemoveIngredientWithInvalidIndex() { | ||
| burger.removeIngredient(0); // Должен упасть с IndexOutOfBoundsException |
There was a problem hiding this comment.
⛔️Нужно исправить. Тест ничего не проверяет
- Assert-ы во всех тестах - Один тест - одна проверка - Нейминг без чисел (sauceMock, fillingMock) - Параметризация с name - UnnecessaryStubbingException исправлен - Полная проверка форматирования чека
| } | ||
|
|
||
| @Test | ||
| public void testMoveIngredientNegativeNewIndexThrowsException() { |
| } | ||
|
|
||
| @Test | ||
| public void testMoveIngredientNegativeNewIndexThrowsException() { |
|
|
||
| @Test | ||
| public void testConstructor() { | ||
| assertNotNull(burger.ingredients); |
There was a problem hiding this comment.
⛔️Нужно исправить. Для юнит-тестов придерживаемся подхода: один тест, значит одна проверка. Если очень хочется несколько проверок -- тогда используем softAssertions. Поправь, пожалуйста, во всем коде
- Добавлены проверки исключений через try-catch с fail() и assertNotNull - Каждый тест содержит только одну проверку (один assert) - Убран нейминг с числами (sauceMock, fillingMock) - Добавлен name в параметризацию - Исправлен UnnecessaryStubbingException через @rule - Добавлен полный отчет JaCoCo (папка temp_jacoco со всей структурой)
- Добавлена проверка исключения в testMoveIngredientNegativeNewIndexThrowsException - Разбит testConstructor на три отдельных теста (один assert в каждом) - Все тесты теперь содержат try-catch + fail + assertNotNull