2012-06-28 46 views
10

我正在寫使用boost :: asio的小型XMPP服務器,我想單元測試我的代碼。 問題:單元測試和提升:: asio

  1. 有沒有一些現成的框架呢?據我瞭解,我需要爲boost :: asio類/模板提供模擬對象,我真的想自動完成這個(半)。
  2. 是否可以測試併發性(例如多個連接到服務器和它們之間的消息路由)?

回答

6

1)我寫了一個小型套接字類,可以用來替代boost :: asio :: ip :: tcp :: socket。如果你喜歡,你可以看看robitzki.de/test_socket.h(test_socket.cpp,test_io_plan.h和test_io_plan.cpp)。根據使用的構造函數,套接字可以模擬不同大小的塊的讀/寫。錯誤也可以模擬。如果你喜歡,你可以自由使用它。

2)使用套接字替換,可以爲被測軟件構建壓力測試。這絕不會保證代碼不包含錯誤,但總比沒有好;-)。我個人喜歡代碼評論,以確保多線程代碼包含儘可能少的錯誤。

HTH

託斯滕

+0

您好,我一直在尋找單元測試的boost :: ASIO,以及發現你的test_socket.h,我borrwing它,如果你不介意的話:) – dutt

+3

@dutt歡迎您使用它。看看https://github.com/TorstenRobitzki/Sioux/tree/master/source/asio_mocks,我試圖把它放在一個更可重用的表單中。 –

+0

謝謝,我會看看:)我已經做了一些微小的修改,以適應我的需求。 – dutt