Что такое фикстуры? Как контролировать объем БД при большом количестве фикстур?

Последние изменения: 04.07.2025
Фикстуры - это повторяющиеся блоки кода, которые выполняются до/после самого теста, setup, beforeEach, beforeAll, teardown и afterEach

Фикстуры складываются в файлы -container.json и хранятся в базе данных ТестОпс в таблице test_fixture_result

В запуске, в результатах теста, выглядят фикстуры так:

cc67785c7a7ea877c97178dfbde4c4bf.png

Когда запуск закроется, в тест кейс просачивается только блок "Тело теста" т.к. только он является частью сценария

972dbfdce34dd6f5add69e02c3baee6b.png

Глобально о том, что такое фикстуры можно ознакомиться, например, в разделе документации на примере Python
https://docs.pytest.org/en/7.1.x/how-to/fixtures.html

Контроль размера таблиц содержащих в себе фикстуры

Для инстансов, в которых проекты/команды работают с Python тестами, бывает частой проблемой количество генерируемых тестами фикстур, отражающееся на весе базы данных - он резко возрастает
Есть ряд процедур, необходимых для контроля роста базы:

  1. Политики очистки.

    Здесь важно учитывать, что статус имеет значение!
    На примере двух статусов:

    d8504debfdaefdc4b718b33462c1b9ae.png
    Фикстура предусловия попадет под правило удаления 24 часа
    Фикстура постусловия попадет под правило удаления 12 часов

    137dc516c61e2c1e2650cdb73c7641a3.png
  2. Настроить автовакуум.

    Удаление политиками очистки оставляет за собой мертвые строки, для того, чтобы дать возможность в эти строки перезаписывать данные, необходимо производить vacuum
    Более подробно описано в данном разделе базы знаний https://help.qatools.ru/knowledge_base/item/338637?sid=71406

  3. Банально пересмотреть проекты и где возможно сократить количество генерируемых фикстур.


Помогла ли вам статья?