Покажите короткий пример по теме «database transactions in tests» и объясните, что здесь важно.

PHPMiddleTesting and QualityТеорияphptestingdatabase-transactions-in-testsphp-backend-developertesting-and-quality

Что хотят услышать интервьюеры:

Короткий пример по теме database transactions in tests:

Ответ:

<?php // wrap each test in DB transaction

Что важно: код должен быть безопасным, читаемым и соответствовать контракту задачи. Для PHP-разработчика важно объяснить не только «как написать», но и «почему так безопаснее/надежнее».

  • ускоряет изоляцию
  • не работает для всех сценариев
  • важно для integration tests

Типичная ошибка: тестировать код с commit/queue и ожидать простой rollback.

На собеседовании: проговорите, какие edge cases вы бы проверили тестами и что бы логировали при ошибке.

Источники

Похожие вопросы