0
我想测试一个Postgres数据库再执行查询的后端。据我了解嘲笑postgres是不可能的(而不是MongoDB),并且应该查询一个真正的数据库。postgres在后端测试策略
所以我的第一个问题是,测试postgres查询的标准策略是什么?
现在,我试图重新创建一个没有数据的数据库,这样我就可以为每个测试插入信息并完全控制输出。但是,目前尚不清楚如何做到这一点。到目前为止,我已经拿出类似的东西:
pg_dump mydb --schema-only | pg_restore testdb
然而,它真的很慢。我想其中一个原因是,如果测试客户端与数据库不在同一个网络中,那么pg_dump必须通过网络获取所有信息,然后才能将其发送回同一台计算机。
我想我正在寻找将类似于
Create new database testdb with template mydb
只复制架构信息并没有强制关闭所有连接。
对此没有单一的“标准”答案。这一切都取决于你需要测试什么:业务逻辑,查询,结构,性能等。有一些你可能会感兴趣的框架:http://pgtap.org/,https://pypi.python.org/pypi /testing.postgresql/,https://github.com/mixerp/plpgunit等。我已经使用NodeJS Mocha,Chai和Lodash构建了自己的简单框架,并且我有预定义的结构 - 不从现有数据库获取模式结构,但这是特定于我的需求和使用情况。 –