← До фільтрів та технологій

← До списку лабораторних по Python

Python Лабораторна 53: Використання тестової SQLite бази

Технологія: Python

Номер лабораторної: 53 · Рівень: middle

Тема: Тестування коду який працює з базою

Повний опис / сценарій лабораторної:

Meta: навчитися писати тести для функцій які виконують SQL запити без впливу на прод базу.



Krok 1. Створити модуль src/app/repo53.py з простою функцією яка додає користувача у базу SQLite.



Krok 2. Реалізувати окрему функцію створення схеми таблиць.



Krok 3. Створити тестовий файл tests/test_repo53.py з фікстурою pytest яка піднімає тимчасову базу у файлі.



Krok 4. Написати тест який викликає функцію додавання користувача і потім перевіряє запис через SELECT.



Krok 5. Додати ще один тест який перевіряє обмеження унікальності для email.



Krok 6. Переконатися що кожен тест працює на чистій базі.



Krok 7. Занотувати підхід до тестування складніших транзакцій.



Krok 8. Продумати як переходити з SQLite на реальний сервер бази у інтеграційних тестах.



Krok 9. Додати простий механізм логування SQL запитів під час тестів.



Krok 10. Mini zvit.

Zavdannya: опиши стратегію розділення юніт і інтеграційних тестів для шару доступу до даних.