Skip to content

Sprint_4#8

Open
Meh-rng wants to merge 5 commits into
mainfrom
Develop
Open

Sprint_4#8
Meh-rng wants to merge 5 commits into
mainfrom
Develop

Conversation

@Meh-rng

@Meh-rng Meh-rng commented Mar 17, 2026

Copy link
Copy Markdown
Owner

No description provided.

Ivan Popovich added 2 commits March 17, 2026 07:02
Comment thread tests.py Outdated
assert len(collector.get_books_genre()) == 2

def test_add_new_book_with_long_name_not_added(self):
collector = BooksCollector()

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Отлично: в каждом тесте создается собственный экземпляр BooksCollector, но можно лучше - перенести создание экземпляра в фикстуры в отдельный файл conftest, а не повторять это предусловие в каждом тесте

Comment thread tests.py Outdated
favorites = collector.get_list_of_favorites_books()
assert isinstance(favorites, list)
assert len(favorites) == 2
def test_add_new_book_with_max_length_name(self):

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

нужно исправить: попровить индентацию, эти тесты вывалились из тестового класа. нужно подвинуть на 4 пробела вправо все

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

также как будто тут есть дублирование, это лишний код?

Comment thread tests.py
collector.add_book_in_favorites('Книга 1')
collector.add_book_in_favorites('Книга 2')
favorites = collector.get_list_of_favorites_books()
assert isinstance(favorites, list)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Нужно исправить: отсутствуют тесты на проверку методов get_books_genre. На каждый метод должен быть отдельный тест, вне зависимости, вызывается он в других тестах или нет

Comment thread tests.py
collector.add_book_in_favorites('Книга 2')
favorites = collector.get_list_of_favorites_books()
assert isinstance(favorites, list)
assert len(favorites) == 2

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Нужно исправить: согласно заданию необходимо создать как минимум один параметризированный тест. В данном задании для параметризации лучше всего подходят граничные значения в классе длины имени - отдельно невалидные значения и отдельным тестом - ГЗ для валидных

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Нужно исправить: из финального проекта нужно удалить все файлы и папки, которые не относятся к решению задачи

Comment thread README.md

---

### Тест 1: Невалидные значения длины названия

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

нужно исправить: почему в ридми лежит код тестов?

Comment thread tests.py
def test_get_books_with_specific_genre(self, collector_with_genres):
horror_books = collector_with_genres.get_books_with_specific_genre('Ужасы')
assert len(horror_books) == 1
assert 'Книга 2' in horror_books

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Можно лучше: не стоит хранить одно и то же тестовое значение отдельно - если что-то было создано в фикстуре, то тут стоит вызвать это значение, а не дублировать его. Иначе тесты станут неподдерживаемыми - легко изменить что то в фикстуре (например) и не заметить что и в тесте тоже нужно поменять. Так как сейчас эти данные не связаны, но должны быть. Удачное решение - создать файл с тестовыми данными и обращаться к нему и в фикстуре и в тестах

Comment thread tests.py Outdated
assert len(collector.get_books_rating()) == 2
# Тесты инициализации
def test_genre_age_rating_initialized_correctly(self, collector):
assert collector.genre_age_rating == ['Ужасы', 'Детективы']

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Нужно исправить: мы тестируем не атрибуты экземпляров класса, а методы приложения. Необходимо добавить шаги в которых будут использованы методы и проверить результат.
либо удалить тесты на атрибуты

Ivan Popovich added 2 commits March 19, 2026 07:00
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