Conversation
| price = 42.0 | ||
| bun = Bun(name, price) | ||
| assert bun.get_name() == name | ||
| assert bun.get_price() == price |
There was a problem hiding this comment.
Нужно исправить: здесь и далее: проверка каждого атрибута или метода должна производиться отдельно. В случае паления на первом assert, вторая проверка не будет выполнена.
|
|
||
| def test_init_bun_with_empty_data(self): | ||
| has_error = False | ||
| try: |
There was a problem hiding this comment.
Нужно исправить: использование try/except для тестовых сценариев недопустимо. Для проверки исключений можно использовать pytest.raises
| assert len(list(re.finditer(bun.get_name(), receipt))) == 2 | ||
| assert f"{str(ingredient.get_type()).lower()} {ingredient.get_name()}" in receipt | ||
| assert f'Price: {burger.get_price()}' in receipt |
There was a problem hiding this comment.
Нужно исправить: проверка вхождения подстроки в полной строке не дает гарантии, что полная строка составлена верно. В данном случае нужно либо собрать полную строку в рамках тестового сценария, либо использовать захардкоженную.
| ingredient_1 = Ingredient("test1", "test1", 42.0) | ||
| ingredient_2 = Ingredient("test2", "test2", 43.0) | ||
| ingredient_3 = Ingredient("test3", "test3", 44.0) |
There was a problem hiding this comment.
Можно лучше: это создание тестовых объектов повторяется из теста в тест, а значит это предусловие, его следовало описать в фикстуре
| type = "test type" | ||
| name = "test ingredient" | ||
| price = 42.0 |
There was a problem hiding this comment.
Можно лучше: тестовые данные стоит хранить отдельно в data модуле, так поддерживать и переиспользовать будет проще, в тестах и тестовых классах их держать не стоит
No description provided.