test: add JUnit test requirements
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
# Общее техническое задание: тестирование
|
||||
|
||||
## Задача
|
||||
|
||||
Для всех реализованных классов написать автоматические тесты с использованием **JUnit**.
|
||||
|
||||
## Требования
|
||||
|
||||
1. Для каждого основного класса проекта должны быть написаны тесты.
|
||||
|
||||
2. Проверить:
|
||||
|
||||
- корректное выполнение основных методов;
|
||||
- корректную обработку некорректных данных;
|
||||
- граничные случаи;
|
||||
- ожидаемые исключения.
|
||||
|
||||
3. Для `Student` проверить:
|
||||
|
||||
- создание корректного объекта;
|
||||
- невозможность создания объекта с некорректными данными;
|
||||
- работу `Builder`;
|
||||
- `equals()` и `hashCode()`.
|
||||
|
||||
4. Для `MyLinkedList` проверить:
|
||||
|
||||
- `add()`;
|
||||
- `get()`;
|
||||
- `set()`;
|
||||
- `remove()`;
|
||||
- `size()`;
|
||||
- `isEmpty()`;
|
||||
- некорректные индексы.
|
||||
|
||||
5. Для `MergeSortStrategy` проверить:
|
||||
|
||||
- сортировку по каждому из трёх полей;
|
||||
- уже отсортированную коллекцию;
|
||||
- обратный порядок;
|
||||
- коллекцию из одного элемента;
|
||||
- пустую коллекцию.
|
||||
|
||||
6. Для каждого компаратора проверить правильное сравнение объектов `Student`.
|
||||
|
||||
7. Тесты должны быть независимыми друг от друга и воспроизводимыми.
|
||||
|
||||
8. Необходимо использовать JUnit и стандартные средства проверки результатов.
|
||||
|
||||
## Результат
|
||||
|
||||
Тесты размещать отдельно от основного кода, например:
|
||||
|
||||
```text
|
||||
src/
|
||||
├── main/
|
||||
│ └── java/
|
||||
└── test/
|
||||
└── java/
|
||||
├── StudentTest.java
|
||||
├── MyLinkedListTest.java
|
||||
├── MergeSortStrategyTest.java
|
||||
├── StudentGroupComparatorTest.java
|
||||
├── StudentAverageGradeComparatorTest.java
|
||||
└── StudentRecordBookComparatorTest.java
|
||||
```
|
||||
|
||||
Все тесты должны успешно проходить перед слиянием ветки в `main`.
|
||||
Reference in New Issue
Block a user