pgtap
PostgreSQL单元测试框架
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pgtap | 1.3.4 | LANG | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 3200 | pgtap | 否 | 是 | 否 | 是 | 否 | 否 | - |
| 相关扩展 | plpgsql faker dbt2 pg_mockable pgsqlmock omni_test random tsm_system_time tsm_system_rows |
|---|---|
| 下游依赖 | pgsqlmock |
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PGDG | 1.3.4 | 1817161514 | pgtap | plpgsql |
| RPM | PGDG | 1.3.4 | 1817161514 | pgtap_$v | - |
| DEB | PGDG | 1.3.4 | 1817161514 | postgresql-$v-pgtap | - |
安装
您可以直接安装 pgtap 扩展包的预置二进制包,首先确保 PGDG 仓库已经添加并启用:
使用 pig 或者是 apt/yum/dnf 安装扩展:
安装
pig
dnf
apt
创建扩展:
用法
来源:
pgtap 是一个 PostgreSQL 单元测试框架,输出 TAP(Test Anything Protocol)格式的结果,提供数百个断言函数用于测试数据库对象和查询结果。
测试结构
当测试数量未知时使用 no_plan():
基本断言
模式测试
错误测试
查询结果测试
使用 pg_prove 运行测试
xUnit 风格
1.3.4 版本与测试边界
1.3.4 新增 index_is_partial(),为 has_composite() 和 hasnt_composite() 增加 name/name 重载,并修复若干旧版本升级路径。先安装匹配的脚本,再执行 ALTER EXTENSION pgtap UPDATE TO '1.3.4'。控制文件要求 plpgsql,设置 superuser = false,允许重定位,且无需共享预加载。角色仍须拥有数据库 CREATE 权限,以及测试所涉及对象的适当权限。
应使用可丢弃的测试数据或隔离测试库;事务回滚无法撤销被测试函数执行的外部动作。pg_prove 客户端需要单独安装,安装扩展本身不会提供这个测试执行器。
这个页面对您有帮助吗?
感谢反馈,我们会据此改进这篇文档。
哪里没有解决?(可选)