Skip to content

Develop2#1257

Open
Timur-Rylin wants to merge 5 commits intoyandex-praktikum:mainfrom
Timur-Rylin:develop2
Open

Develop2#1257
Timur-Rylin wants to merge 5 commits intoyandex-praktikum:mainfrom
Timur-Rylin:develop2

Conversation

@Timur-Rylin
Copy link

  • В каждом тесте есть 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() {

Choose a reason for hiding this comment

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

⛔️Нужно исправить. В тестах нет проверок

Choose a reason for hiding this comment

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

не исправлено

Choose a reason for hiding this comment

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

Должна быть проверка исключения

@Test
public void testAddIngredient() {
burger.addIngredient(sauceMock);
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. Поправь, пожалуйста, во всем коде

burger.addIngredient(sauceMock);

String receipt = burger.getReceipt();
assertTrue(receipt.contains("Complete Bun"));

Choose a reason for hiding this comment

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

⛔️Нужно исправить. Строку рецепта проверяем целиком, чтобы не пропустить ошибки форматирования


@Test
public void testRemoveIngredientWithInvalidIndex() {
burger.removeIngredient(0); // Должен упасть с IndexOutOfBoundsException

Choose a reason for hiding this comment

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

⛔️Нужно исправить. Тест ничего не проверяет

- Assert-ы во всех тестах
- Один тест - одна проверка
- Нейминг без чисел (sauceMock, fillingMock)
- Параметризация с name
- UnnecessaryStubbingException исправлен
- Полная проверка форматирования чека
}

@Test
public void testMoveIngredientNegativeNewIndexThrowsException() {

Choose a reason for hiding this comment

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

не исправлено

}

@Test
public void testMoveIngredientNegativeNewIndexThrowsException() {

Choose a reason for hiding this comment

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

Должна быть проверка исключения


@Test
public void testConstructor() {
assertNotNull(burger.ingredients);

Choose a reason for hiding this comment

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

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

- Добавлены проверки исключений через try-catch с fail() и assertNotNull
- Каждый тест содержит только одну проверку (один assert)
- Убран нейминг с числами (sauceMock, fillingMock)
- Добавлен name в параметризацию
- Исправлен UnnecessaryStubbingException через @rule
- Добавлен полный отчет JaCoCo (папка temp_jacoco со всей структурой)
- Добавлена проверка исключения в testMoveIngredientNegativeNewIndexThrowsException
- Разбит testConstructor на три отдельных теста (один assert в каждом)
- Все тесты теперь содержат try-catch + fail + assertNotNull
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