我正在为libpq编写一个C++包装器。但是,我不知道该如何编写单元测试。我最初的反应是只是将libpq接口包装成可模拟的东西,但这有点违背了我的目的。以前有人这么做过吗?如果是这样的话,是怎么做的?
发布于 2012-11-23 15:59:50
对于单元测试,您可以模拟一些类(db连接、查询、参数绑定器)。对于较大的功能测试,您可以使用到测试数据库的真实连接。我在几年前做的两个libpq包装器(一个用于Qt,另一个用于C++ /C++)运行得很好。
关于libpqxx -它仍然不支持二进制libpq v3协议,这在某些情况下(例如导入/导出大量的二进制数据)可能是一个瓶颈。除此之外,它的使用非常简单,而且非常令人愉快。
发布于 2012-11-23 15:25:17
别干那事。There's already a C++ wrapper for libpq, called libpqxx。
我使用cppunit进行测试,使用initdb的前置和后置代码,并在path上给定initdb和pg_ctl,启动一个新的PostgreSQL集群。
https://stackoverflow.com/questions/13524599
复制相似问题