libpq - 编写测试

时间:2012-11-23 07:18:13

标签: c++ unit-testing postgresql libpq

我正在为libpq编写C ++包装器。但是,我无法弄清楚我应该如何编写单元测试。我最初的反应是将libpq界面包装成可模仿的东西,但这种目的无法实现。有没有人这样做过?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:3)

不要那样做。 There's already a C++ wrapper for libpq, called libpqxx

我使用cppunit进行测试,使用前后代码到initdb并在路径上给出initdbpg_ctl新的PostgreSQL集群。

答案 1 :(得分:2)

对于单元测试,您可以模拟一些类(数据库连接,查询,参数绑定器)。对于更大的功能测试,您可以使用与测试数据库的真实连接。几年前我做了两个libpq C ++包装器(一个用于Qt,另一个用于C ++ / STL)。

关于libpqxx - 它仍然不支持二进制libpq v3协议,在某些情况下(例如导入/导出大量二进制数据)可能是瓶颈。除此之外,它非常简单易用,非常有趣。