问题标签 [pgtap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 查询没有结果数据的目的地 pg tap postgres sql
我有一个简单的单元测试要在 pgtab https://pgtap.org/documentation.html#is中运行,如下所示
当我写SELECT has_table('unit_test_expected_results');
里面时begin
,end
我面临以下错误
任何帮助将不胜感激
这是 pgtab 扩展的功能
如果我写下面的代码
这行得通,但是在输出窗口中没有结果,但是,如果我在开始和结束之外写,一切都可以正常工作
postgresql - 如何使用模拟数据测试 PostgreSQL 脚本?
如何创建以下测试:
我有一个 PostgreSQL 脚本。我希望测试创建模拟数据,在这些表上调用脚本并从模拟数据创建结果表,并将此结果与我定义的一些预期结果表进行比较。
我使用 pgTAP 来测试生成的数据库,但是这样我只能测试在脚本中创建的表,但我希望使用不同的模拟数据进行多次测试。
这可能使用 pgTAP 吗?还是另一种方式?
这是我的脚本的样子:
postgresql - Postgres:如何在比较之前转换两个游标中的数据?
我正在替换get_data
我们数据库中的一个遗留函数,它需要一些entity_id
并返回一个引用。
我正在编写一个get_data_new
使用不同数据源的新函数,但输出应该与get_data
相同输入的相同。
我想用 pgtap 验证这一点,并在测试中这样做(使用_expected
和_actual
作为返回游标的名称):
这对其他函数按预期工作,但查询get_data
恰好返回一些json
列,这意味着比较预期会失败ERROR: could not identify an equality operator for type json
。
我宁愿保留遗留功能不变,因此jsonb
无法重构。我正在想象一种解决方法是在比较之前转换数据,假设使用类似的东西SELECT entity_id, json_column::jsonb FROM (FETCH ALL FROM _actual)
,但这种特定的尝试显然是无效的。
这里建议的方法是什么?编写一个辅助函数将游标中的数据插入到几个临时表中?我希望有一个我还没有发现的更清洁的解决方案。
使用 postgres 11.14,pgtap11