from freezegun import freeze_time
from datetime import datetime
import unittest
from module_03_ci_culture_beginning.homework.hw1.hello_word_with_day import app
username = 'username'
weekday = {
0: "Хорошего понедельника",
1: "Хорошего вторника",
2: "Хорошей среды",
3: "Хорошего четверга",
4: "Хорошей пятницы",
5: "Хорошей суббота",
6: "Хорошего воскресенья",
}
class TestDayUsername(unittest.TestCase):
""" Тест корректности дня недели и имени пользователя """
def setUp(self):
""" Инициализация. Функция запускается перед каждым тестом """
app.config['TESTING'] = True
app.config['DEBUG'] = False
self.app = app.test_client()
self.base_url = '/hello-world/'
def test_can_get_correct_username_weekday(self):
""" Тест получения дня недели и имени пользователя """
response = self.app.get(self.base_url + username)
response_text = response.data.decode()
day = datetime.today()
self.assertTrue(username in response_text)
self.assertTrue(str(type(day)) == "")
self.assertNotEqual(username, weekday[day.weekday()])
if __name__ == '__main__':
unittest.main()
Добрый день! Хотелось попросить доделать задачу, а именно:
Мы кое-что забыли проверить, когда писали тест test_can_get_correct_username_with_weekdate: добавьте проверку корректности вернувшегося дня недели.
Советы и рекомендацииВот тут есть пример с контекстным менеджером freezegun:
https://github.com/spulec/freezegun#context-manager
В аргумент можно также передать объект datetime.
Фишка в том, что на сервере время тоже замораживается, так как мы используем тестовый клиент приложения.
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |