Conversation
tests.py
Outdated
There was a problem hiding this comment.
Нужно исправить: условий в тестах быть не может, тест всегда однозначен.
There was a problem hiding this comment.
Здравствуйте. Я постарался все изменить. Файл находится в Commits
Название "[Постарался все поменять tests.py"
There was a problem hiding this comment.
Я создал новый пул, с новым файлом "4 спринт (измененный)Тests.py"
На проверку я отправил новую ссылку
tests.py
Outdated
There was a problem hiding this comment.
лучше разделить на два теста - ГЗ для успешного добавления и для неуспешного. обычно результат в ассерте не параметризируют, только тестовые данные
tests.py
Outdated
There was a problem hiding this comment.
Нужно исправить: мы тестируем не атрибуты экземпляров класса или наполнение базы данных, а методы приложения. Необходимо добавить шаги в которых будут использованы методы и проверить результат.
There was a problem hiding this comment.
Отлично: в каждом тесте создается собственный экземпляр BooksCollector, но можно лучше - перенести создание экземпляра в фикстуры в отдельный файл conftest, а не повторять это предусловие в каждом тесте
tests.py
Outdated
tests.py
Outdated
There was a problem hiding this comment.
будет лучше хранить тестовые данные в отдельном файле, тогда их можно будет переиспользовать
tests.py
Outdated
tests.py
Outdated
There was a problem hiding this comment.
Нужно исправить: тест неатомарный. после ассерта уже не должно быть шагов, а каждый тест должен проверять какое то одно поведение приложения
tests.py
Outdated
There was a problem hiding this comment.
нужно исправить: в юнит тестах методы тестируются изолированно, один тест - один метод
tests.py
Outdated
| assert collector.get_list_of_favorites_books() == [] # через метод get_list_of_favorites_books() | ||
|
|
||
| # Проверяем что можем добавить книгу | ||
| collector.add_new_book('Тестовая книга') |
There was a problem hiding this comment.
Нужно исправить: тест неатомарный. после ассерта уже не должно быть шагов, а каждый тест должен проверять какое то одно поведение приложения
tests.py
Outdated
| # Проверяем что можем добавить в избранное | ||
| collector.add_book_in_favorites('Тестовая книга') | ||
| assert len(collector.get_list_of_favorites_books()) == 1 # через метод | ||
| assert collector.genre == ['Фантастика', 'Ужасы', 'Детективы', 'Мультфильмы', 'Комедии'] |
tests.py
Outdated
| assert len(collector.get_books_genre()) == 1 | ||
|
|
||
| # Второе добавление той же книги | ||
| collector.add_new_book(book_name) |
tests.py
Outdated
tests.py
Outdated
| assert len(favorites) == 1 | ||
|
|
||
| # Второе добавление в избранное | ||
| collector.add_book_in_favorites(book_name) |
tests.py
Outdated
| assert len(favorites) == 1 | ||
|
|
||
| # Тест 11: Нельзя добавить книгу в избранное дважды | ||
| def test_add_book_in_favorites_twice(self): |
tests.py
Outdated
| assert len(favorites) == 1 | ||
|
|
||
| # Тест 13: Удаление несуществующей книги из избранногоо | ||
| def test_delete_nonexistent_book_from_favorites(self): |
There was a problem hiding this comment.
и тут также. что это за тесты с дополнительной индентацией которые дублируют предшествующие тесты? так не стоит делать
tests.py
Outdated
|
|
||
| # Проверяем начальное состояние | ||
| books = collector.get_books_genre() | ||
| assert books['Книга'] == '' |
tests.py
Outdated
| assert genre == 'Фантастика' | ||
|
|
||
|
|
||
| # Тест 2: Тестируем get_books_for_children |
There was a problem hiding this comment.
посмотри пожалуйста верные ли комментарии, и нет ли дублирования тестов. почему после 15 идет второй?
No description provided.