libpq の C++ ラッパーを作成しています。しかし、単体テストの書き方がわかりません。私の最初の反応は、libpq インターフェースをモック可能なものにラップすることでしたが、それは目的に反します。誰もこれを以前にやったことがありますか?もしそうなら、どのように?
2 に答える
3
そうしないでください。という libpq 用の C++ ラッパーが既に存在しますlibpqxx
。
cppunit を使用してテストし、事前コードと事後コードを使用して、initdb
指定されたパス上で新しい新しい PostgreSQL クラスターを開始initdb
しpg_ctl
ます。
于 2012-11-23T07:25:17.390 に答える
2
単体テストでは、一部のクラス (db 接続、クエリ、パラメーター バインダー) をモックできます。大規模な機能テストでは、テスト データベースへの実際の接続を使用できます。数年前に行った 2 つの libpq C++ ラッパー (1 つは Qt 用、もう 1 つは C++/STL 用) でうまく機能しました。
libpqxx に関しては、バイナリ libpq v3 プロトコルをまだサポートしていません。これは、場合によっては (大量のバイナリ データのインポート/エクスポートなど)、ボトルネックになる可能性があります。これ以外は、使い方はとても簡単で、とても楽しいです。
于 2012-11-23T07:59:50.230 に答える