LINUX.ORG.RU

подобие юнит-тестов для postgresql

 , ,


0

4

У меня есть скрипт, к-рый накатывает с помощью psql тестовую базу. Как добавить в него тесты? Пока что я делаю вот так:

-- tests
create or replace function test_privilege() returns text
language plpgsql strict as $$
begin
 if exists (select result from if_user_has_privilege(1,1) where result = true) THEN
   return 'failure';
 end if;
end;
$$;

select test_privilege()

Как сделать это более культурно, в стиле какого-нибудь тест-фреймворка? Моя задача - уменьшить количество писанины. Может быть, есть какая-то особая утилита, не psql?

★★★★★

Последнее исправление: den73 (всего исправлений: 1)

есть два стула: на одном логика в базе, на втором юниттесты для CREATE TABLE. на каком создатель не имеющего аналога языка программирования, на каком архитектор микросервисов?

anonymous
()

что-то мне кажется ты не на тот ресурс пришёл с такими вопросами.

Deleted
()
Ответ на: комментарий от deadNightTiger

Спасибо, завтра гляну.

den73 ★★★★★
() автор топика
Ответ на: комментарий от AnDoR

Не, хочу именно проверять работу отдельных хранимок и правильное заполнение константных таблиц. Например, этот тест проверяет, что пользователь с кодом 1 имеет право войти в систему.

den73 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Если в помещении больше одного стула, можно периодически пересаживаться с одного на другой. А по дороге между стульями разминать члены организма.

den73 ★★★★★
() автор топика

Видел и писал юнит тесты на PL/SQL под Oracle, язык ужас но работало, для этих целей была создана куча функций типа assert_equals и т.д, правда это было лет 8 назад.

Aber ★★★★★
()

Как сделать это более культурно

Просто вынеси тесты в отдельный скрипт, не мешай их с DDL-командами. А psql менять не надо, она свою функцию выполняет. Сценарии вызывай последовательно.

hobbit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.