Есть ли способ применить методы TDD для dev в PL / SQL? - PullRequest
6 голосов
/ 16 сентября 2011

Поскольку у меня много программной логики на стороне DB-сервера в PL / SQL, я хотел бы выяснить, применимо ли TDD к PL / SQL. Еще больше было бы очень приятно, если бы вы указали мне на некоторые информационные ресурсы, в которых есть образцы и подробное описание. Заранее спасибо!

UPD: мне нужно, чтобы тесты хранились и выполнялись только на моей машине, не затрагивая других членов команды. Это возможно?

1 Ответ

8 голосов
/ 16 сентября 2011

Да, это так - просто примените обычный цикл TDD (см., Например, wikipedia ), как и на любом другом языке программирования:

  1. Добавить тест
  2. Запустите все тесты и посмотрите, не пройдет ли новый тест
  3. Написать код
  4. Запустите автоматизированные тесты и убедитесь, что они успешны
  5. Код рефакторинга
  6. Повторите

Вы, конечно, хотите иметь основу для модульного тестирования . Неудивительно, например, У StackOverflow есть вопросы, такие как Модульное тестирование для PL / SQL или Модульное тестирование для Oracle PL / SQL? . Вы уже проверили это - не так ли?

Проведение испытаний в изоляции очень возможно. Возможно, вы захотите иметь либо выделенный экземпляр Oracle DB, либо схему, которая на 100% находится под вашим контролем.

Единственная сложность, с которой я столкнулся, - это тестирование кода, который использует базу данных очень широко или когда схема базы данных сильно меняется. Заполнение или подделка базы данных может быть сложным и трудоемким, если база данных сложна или если для выполнения теста требуется много данных. В этих случаях я обычно подделываю базу данных, удаляя ограничения и триггеры, что делает выполнение тестов громоздким. Это хорошо, потому что основное внимание уделяется коду PL / SQL, а не структуре базы данных, и модульное тестирование не является последним этапом проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...