/
IvanKhabarov
/
python
Обзор
Документация
Войти
/
IvanKhabarov
/
python
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Lections/Lesson14/3-pytest/task_fixture_2.py
38 строк
1 KB
Ivan-Khabarov
added new tasks
09 окт 2024, 22:29
09 окт 2024, 22:29
e6e6849
Код
Авторство
О чём код?
# Ещё немного о фикстурах # Рассмотрим пример посложнее. import pytest @pytest.fixture def get_file(tmp_path): f_name = tmp_path / 'test_file.txt' print(f'Создаю файл {f_name}') # принтим в учебных целях with open(f_name, 'w+', encoding='utf-8') as f: yield f print(f'Закрываю файл {f_name}') # принтим в учебных целях @pytest.fixture def set_num(get_file): print(f'Заполняю файл {get_file.name} цифрами') # принтим в учебных целях for i in range(10): get_file.write(f'{i:05}') get_file.seek(0) @pytest.fixture def set_char(get_file): print(f'Заполняю файл {get_file.name} буквами') # принтим в учебных целях for i in range(65, 91): get_file.write(f'{chr(i)}') get_file.seek(0) return get_file def test_first_num(get_file, set_num): first = get_file.read(5) assert first == '00000' def test_first_char(set_char): first = set_char.read(5) assert first == 'ABCD' # специально провалим тест if __name__ == '__main__': pytest.main(['-v'])