12

我正在使用 boost::asio 编写小型 XMPP 服务器,并且我想对我的代码进行单元测试。问题:

  1. 有一些现成的框架吗?据我了解,我需要为 boost::asio 类/模板提供模拟对象,我真的很想(半)自动地制作它。
  2. 是否可以测试并发性(例如到服务器的多个连接和它们之间的消息路由)?
4

1 回答 1

7

1)我写了一个小的socket类,可以用来代替boost::asio::ip::tcp::socket。如果您愿意,可以查看 robitzki.de/test_socket.h(test_socket.cpp、test_io_plan.h 和 test_io_plan.cpp)。根据使用的构造函数,套接字可以模拟不同大小的块的读/写。也可以模拟错误。如果您愿意,您可以免费使用它。

2) 通过更换插座,可以为被测软件建立压力测试。这永远不会保证代码不包含错误,但总比没有好;-)。我个人最喜欢代码审查,以确保多线程代码包含尽可能少的错误。

高温高压

托尔斯滕

于 2012-07-02T15:01:49.503 回答