Проект по написанию unit тестов к class BooksCollector:
В проекте была использована библиотека pytest, декораторы pytest.mark.parametrzie pytest.fixture
Фикстуры book_name и book_rating использованы с целью удобства использования тестовых данных для позитивных проверок.
- Тест метода добавления книги
В тесте методом добавления книг, добавляются две книги, проверяем возможность добавления нескольких книг сразу
ОР:Книги добавляются
- Тест метода добавления книги
В тесте методом добавляется одинаковая книга дважды, с целью проверки создания дубля
ОР:Книга не дублируется
- Тест метода добавления рейтинга для книги
В тесте,методом устанавливления рейтинга, устанавливается рейтинг не добавленной книги в список книг
ОР:Рейтинг не устанавливается
- Тест метода установления рейтинга
Тестом устанавливается рейтинг 0,-1,11, методом установления рейтинга книгам, за пределами установленными class BooksCollector:(1-10)
В тесте 3 проверки, на негативные значения, через pytest.mark.parametrize
ОР:Рейтинг устанавливается по умолчанию(1)
- Тест метода добавления книги
Тест проверяет метод self.books_rating[name] = 1(установление рейтинга по умолчанию)
ОР: Рейтинг устанавливается
- Тест метода добавления книги в список избранного
Тестом добавляется книга в список избранного
ОР: Книга добавляется в список избранного
- Тест метода удаления книги из списка избранного
Тест удаляет книгу добавленную в список избранного
ОР:Книга удаляется
- Тест метода добавления книги в список избранного
Тест использует метод добавления книги в список избранного, без добавления книги в self.books_rating = {}
ОР:Книга не добавляется
- Тест метода вывода книги по указанному рейтингу
В тестt с помощью pytest.mark.parametrizeдобавляется несколько книги с разным рейтингом, для проверки вызова метода по рейтингу def get_books_with_specific_rating(self, rating):
ОР:Метод вызывает книги исходя из указанного рейтинга