boost::asio を使用して小さな XMPP サーバーを作成しており、コードの単体テストを行いたいと考えています。質問:
- このためのすぐに使用できるフレームワークはありますか? 私が理解している限りでは、boost::asio クラス/テンプレートにモック オブジェクトを提供する必要があり、これを (半) 自動的に作成したいと考えています。
- 同時実行性をテストすることは可能ですか (たとえば、サーバーへの複数の接続とそれらの間のメッセージ ルーティング)?
boost::asio を使用して小さな XMPP サーバーを作成しており、コードの単体テストを行いたいと考えています。質問:
1) boost::asio::ip::tcp::socket の代わりとして使用できる小さなソケット クラスを作成しました。よろしければ、robitzki.de/test_socket.h (test_socket.cpp、test_io_plan.h、test_io_plan.cpp) をご覧ください。使用するコンストラクターに応じて、ソケットはさまざまなサイズのチャンクの読み取り/書き込みをシミュレートできます。エラーもシミュレートできます。お好みで、ご自由にお使いください。
2) ソケットの交換により、テスト中のソフトウェアのストレス テストを構築できます。これは、コードにバグが含まれていないことを保証するものではありませんが、何もないよりはましです ;-)。個人的には、マルチスレッド コードに含まれるバグをできるだけ少なくするためのコード レビューが最も好きです。
HTH
トルステン