pgTAP
pgTAP es una extensión de pruebas unitarias para Postgres.
Introducción
pgTAP es un framework de pruebas unitarias de código abierto que consiste en un conjunto de funciones de base de datos escritas en PL/pgSQL. Proporciona un conjunto robusto de herramientas y utilidades para escribir y ejecutar pruebas sobre el código de tu base de datos. Inspirado en el popular framework de pruebas xUnit, pgTAP sigue una convención similar y te permite escribir pruebas exhaustivas para objetos de base de datos como tablas, funciones, triggers y más.
Una de sus características más destacadas es su completo conjunto de funciones de aserción integradas que te permiten comprobar los resultados esperados y verificar la integridad de los objetos de tu base de datos.
pgTAP ofrece funcionalidades potentes para entornos PostgreSQL, agilizando la escritura y ejecución de pruebas. Con una integración perfecta con PostgreSQL, aserciones integradas y una gran extensibilidad, las ventajas de usar pgTAP incluyen una cobertura de pruebas exhaustiva, integración nativa con PostgreSQL y validación automatizada de los componentes de la base de datos, lo que lo convierte en una herramienta eficaz para garantizar la fiabilidad del código de la base de datos.
Primeros pasos
Puedes usar la imagen
registry.gitlab.com/optersoft/data/postgres/pgtap:latesten lugar depostgres:18
Activar la extensión
Conéctate a tu base de datos PostgreSQL y ejecuta el siguiente comando para activar la extensión pgTAP:
;
create extension if not exists pgtap with schema extensions;Aunque el código SQL es create extension, esto equivale a activar la extensión.
Para desactivar una extensión, puedes llamar a drop extension.
Es una buena práctica crear la extensión dentro de un esquema aparte (como extensions) para mantener limpio el esquema public.
Usar la extensión pgTAP
Una vez instalado pgTAP, puedes escribir pruebas para tus aplicaciones PostgreSQL. Aquí tienes un ejemplo sencillo de cómo usar pgTAP:
añadir extensiones a search_pat
set search_path = extensions, public;
begin;
select plan(2);
select ok(1 = 1, 'One equals one');
select is('PostgreSQL'::text, 'PostgreSQL'::text, 'PostgreSQL is PostgreSQL');
select * from finish;
rollback;En este ejemplo, primero llamamos a la función plan para especificar el número de pruebas que ejecutaremos. Luego, usamos las funciones ok e is para ejecutar nuestras pruebas. Finalmente, llamamos a la función finish para completar nuestra suite de pruebas.
En PostgreSQL, search_path es la lista ordenada de esquemas que el servidor busca cuando haces referencia a un objeto sin cualificarlo con un esquema.
pgtap.is() es polimórfica (anyelement). Cuando pasas dos literales de cadena como 'PostgreSQL', PostgreSQL inicialmente los trata como del tipo unknown. Con ambos argumentos unknown, no puede inferir el tipo polimórfico. La solución es convertir al menos uno (recomiendo ambos) a text.
Pruebas
👉 Crear un framework de pruebas unitarias para PostgreSQL usando la extensión pgTAP
Pendiente
Estàs llegint una vista prèvia.
Inicia la sessió amb Google per llegir la pàgina sencera.
Inicia la sessió amb GoogleNomés et demanarem que acceptis les condicions del servei.