12

boost::asio を使用して小さな XMPP サーバーを作成しており、コードの単体テストを行いたいと考えています。質問:

  1. このためのすぐに使用できるフレームワークはありますか? 私が理解している限りでは、boost::asio クラス/テンプレートにモック オブジェクトを提供する必要があり、これを (半) 自動的に作成したいと考えています。
  2. 同時実行性をテストすることは可能ですか (たとえば、サーバーへの複数の接続とそれらの間のメッセージ ルーティング)?
4

1 に答える 1

7

1) boost::asio::ip::tcp::socket の代わりとして使用できる小さなソケット クラスを作成しました。よろしければ、robitzki.de/test_socket.h (test_socket.cpp、test_io_plan.h、test_io_plan.cpp) をご覧ください。使用するコンストラクターに応じて、ソケットはさまざまなサイズのチャンクの読み取り/書き込みをシミュレートできます。エラーもシミュレートできます。お好みで、ご自由にお使いください。

2) ソケットの交換により、テスト中のソフトウェアのストレス テストを構築できます。これは、コードにバグが含まれていないことを保証するものではありませんが、何もないよりはましです ;-)。個人的には、マルチスレッド コードに含まれるバグをできるだけ少なくするためのコード レビューが最も好きです。

HTH

トルステン

于 2012-07-02T15:01:49.503 に答える