【发布时间】:2012-06-30 12:51:10
【问题描述】:
我正在使用 boost::asio 编写小型 XMPP 服务器,并且我想对我的代码进行单元测试。 问题:
- 是否有一些现成的框架可以做到这一点?据我了解,我需要为 boost::asio 类/模板提供模拟对象,我真的很想(半)自动地做到这一点。
- 是否可以测试并发性(例如到服务器的多个连接以及它们之间的消息路由)?
【问题讨论】:
标签: c++ unit-testing boost xmpp boost-asio
我正在使用 boost::asio 编写小型 XMPP 服务器,并且我想对我的代码进行单元测试。 问题:
【问题讨论】:
标签: c++ unit-testing boost xmpp boost-asio
1) 我写了一个小的socket类,可以用来代替boost::asio::ip::tcp::socket。如果您愿意,可以查看 robitzki.de/test_socket.h(test_socket.cpp、test_io_plan.h 和 test_io_plan.cpp)。根据使用的构造函数,套接字可以模拟不同大小的块的读/写。也可以模拟错误。如果您愿意,可以免费使用它。
2) 通过更换套接字,可以为被测软件构建压力测试。这永远不会保证代码不包含错误,但总比没有好;-)。我个人最喜欢代码审查,以确保多线程代码包含尽可能少的错误。
HTH
托尔斯滕
【讨论】: