【发布时间】:2012-03-28 14:43:09
【问题描述】:
问题
我有一个 UDPlistener 应用程序,我需要为其编写单元测试。此侦听器持续侦听端口,并且始终在产品上运行。我们将 poco 库用于标准库中没有的框架。
现在我需要将它添加到单元测试应用程序中。
当前解决方案
我认为在运行应用程序的类RunApp 中实现Poco::Runnable 是最简单的。然后我可以在我的单元测试中创建一个新的Poco::Thread 来运行RunApp 类。
这行得通;我的侦听器正在运行,我可以在生成线程后在单元测试正文中发送测试消息。但是,我需要停止侦听器,以便其他单元测试可以运行。我添加了一条 UDP 消息,告诉侦听器杀死自己,但这仅用于单元测试和潜在的安全问题。
问题
有没有办法强制Poco::Thread 停止?还是我错误地构建了这个单元测试?我不希望侦听器在所有其他单元测试期间运行。
【问题讨论】:
标签: c++ unit-testing poco-libraries