SQL: можно ли использовать TDD при работе с запросами / представлениями SQL и т. Д.? - PullRequest
3 голосов
/ 06 января 2011

Будучи довольно привыкшим к TDD в среде Java, мне стало интересно, используется ли TDD также при построении SQL-запросов, создании представлений и т. Д.

Если он также используется, как люди это делают? Вам нужно было бы создать много крошечных БД (для каждого модульного теста в основном)?

Я не знаю, имеет ли мой вопрос много смысла, но все же: TDD рассматривается некоторыми как , что изменило способ разработки программного обеспечения, и определенно - это разработка происходит на уровне «SQL». Так как же смешиваются TDD и DB / SQL?

Ответы [ 2 ]

2 голосов
/ 06 января 2011

В мире Rails у вас есть выделенная тестовая база данных, которую вы создаете каждый раз, когда запускаете свой набор тестов с помощью миграций и фиксаторов для предварительного заполнения базы данных перед выполнением тестов.

Это делает возможным TDD для базы данных.

Я думаю, что основная причина, по которой TDD не используется разработчиками баз данных, более культурна, чем что-либо еще.

0 голосов
/ 06 января 2011

Я не думаю, что это так распространено в мире баз данных.

Вопрос, который нужно задать: «Что я здесь тестирую?»

Это можно сделать, как вы предлагаетеили путем запуска транзакции, заполнения таблиц с гарантированными начальными известными состояниями, запуска тестируемого кода и последующего отката.Но в конечном итоге эти тесты, как правило, ориентированы на данные и хрупки к изменениям БД: одно изменение схемы может нарушить множество тестов и создать много работы.

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