Как проверить функции триггеров postgres для различных тестовых случаев в рельсах? - PullRequest
1 голос
/ 15 ноября 2010

У меня есть приложение rails, и я использую postgresql для базы данных. Я использую триггерные функции для внесения некоторых изменений в базу данных, когда в данных приложения происходят изменения. Но у меня нет хорошей идеи о том, как проверить функции триггера с помощью контрольных примеров ...

Ответы [ 2 ]

1 голос
/ 16 ноября 2010

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

В качестве подсказки рассмотрим написание нескольких тестов, которые манипулируют несколькими строками как один раз, и которыеубедитесь, что число возвращенных затронутых строк является действительным.По моему опыту, последние умеют выявлять недостатки (сбои, условия гонки и т. Д.), Когда все сложно.

0 голосов
/ 15 ноября 2010

Почему бы просто не выполнить ту же операцию, которую вы выполняете в производственном приложении?

Например, если ваш триггер увеличивает значение столбца при вставке и обновлении, просто напишите тест для этих событий и проверьте, было ли значениеправильно увеличивается путем извлечения и проверки.Таким образом, если значение столбца равно «3» перед операцией вставки и «4» после нее, вы знаете, что триггер сработал правильно.

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