Насмешка postgressql с использованием python & pytest - PullRequest
1 голос
/ 24 февраля 2020
def fetch_holidays_in_date_range(src):
    query = "SELECT * from holiday_tab where id = src"
    db = dbconnect.connect()
    # defining the cursor for reading data
    cursor = db.cursor(cursor_factory=psycopg2.extras.RealDictCursor)
    # query the database
    cursor.execute(query.format(src));
    rows = cursor.fetchall()
    dbconnect.destroy(cursor, db)
    return rows

Может кто-нибудь помочь, как смоделировать этот код в pytest или в unittest. Я прогуглил дразнящий дб и почти ничего не нашел.

1 Ответ

0 голосов
/ 25 февраля 2020

Pytest не поддерживает запуск теста на рабочей / основной БД, если вы используете pytest- django. Существует более эффективный подход к решению этой проблемы.

  • Метод решения Pytest DB

  • Это говорит о том, что при каждом запуске тест с маркером @pytest.mark.django_db, тесты запускаются на другой вновь созданной базе данных с именем test_your production_db_name.

  • Так что если ваше имя базы данных равно hello, pytest создаст новую базу данных с именем test_hello и запускает на нем тесты
...