Skip to content

4 Спринт!!!#8

Open
ivannosovec wants to merge 7 commits intomainfrom
develop
Open

4 Спринт!!!#8
ivannosovec wants to merge 7 commits intomainfrom
develop

Conversation

@ivannosovec
Copy link
Copy Markdown
Owner

No description provided.

tests.py Outdated
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
Owner Author

Choose a reason for hiding this comment

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

Здравствуйте. Я постарался все изменить. Файл находится в Commits
Название "[Постарался все поменять tests.py"

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
Owner Author

Choose a reason for hiding this comment

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

Я создал новый пул, с новым файлом "4 спринт (измененный)Тests.py"
На проверку я отправил новую ссылку

tests.py Outdated
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

лучше разделить на два теста - ГЗ для успешного добавления и для неуспешного. обычно результат в ассерте не параметризируют, только тестовые данные

tests.py Outdated
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.

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

tests.py Outdated
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

тест неатомарен, нужно разделить

tests.py Outdated
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

будет лучше хранить тестовые данные в отдельном файле, тогда их можно будет переиспользовать

tests.py Outdated
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

условий в тестах быть не может

tests.py Outdated
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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

tests.py Outdated
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

нужно исправить: в юнит тестах методы тестируются изолированно, один тест - один метод

tests.py Outdated
assert collector.get_list_of_favorites_books() == [] # через метод get_list_of_favorites_books()

# Проверяем что можем добавить книгу
collector.add_new_book('Тестовая книга')
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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

tests.py Outdated
# Проверяем что можем добавить в избранное
collector.add_book_in_favorites('Тестовая книга')
assert len(collector.get_list_of_favorites_books()) == 1 # через метод
assert collector.genre == ['Фантастика', 'Ужасы', 'Детективы', 'Мультфильмы', 'Комедии']
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

почему то на разных уровнях ассерты

tests.py Outdated
assert len(collector.get_books_genre()) == 1

# Второе добавление той же книги
collector.add_new_book(book_name)
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

неатомарно

tests.py Outdated
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

условие осталось

tests.py Outdated
assert len(favorites) == 1

# Второе добавление в избранное
collector.add_book_in_favorites(book_name)
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

неатомарно

tests.py Outdated
assert len(favorites) == 1

# Тест 11: Нельзя добавить книгу в избранное дважды
def test_add_book_in_favorites_twice(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.

вроде выше такой же тест

tests.py Outdated
assert len(favorites) == 1

# Тест 13: Удаление несуществующей книги из избранногоо
def test_delete_nonexistent_book_from_favorites(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.

и тут также. что это за тесты с дополнительной индентацией которые дублируют предшествующие тесты? так не стоит делать

tests.py Outdated

# Проверяем начальное состояние
books = collector.get_books_genre()
assert 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.

неатомарно

tests.py Outdated
assert genre == 'Фантастика'


# Тест 2: Тестируем get_books_for_children
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

посмотри пожалуйста верные ли комментарии, и нет ли дублирования тестов. почему после 15 идет второй?

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