問題
単体テストを作成する必要があるUDPlistenerアプリケーションがあります。このリスナーはポートで継続的にリッスンし、常に製品で実行されるようになっています。標準ライブラリにないフレームワークにはpocoライブラリを使用します。
次に、単体テストアプリケーションに追加する必要があります。
現在のソリューション
アプリケーションを実行Poco::Runnable
するクラスに実装するのが最も簡単だと思いました。次に、ユニットテストでRunApp
新しいクラスを作成してクラスを実行できます。Poco::Thread
RunApp
これは機能します。リスナーが実行されており、スレッドが生成された後、単体テスト本体でテストメッセージを送信できます。ただし、他の単体テストを実行できるように、リスナーを停止する必要があります。リスナーに自殺するように指示するUDPメッセージを追加しましたが、これは単体テストと潜在的なセキュリティ問題によってのみ使用されます。
質問
を強制的Poco::Thread
に停止する方法はありますか?または、この単体テストの構成が間違っていますか?他のすべての単体テスト中にリスナーを実行したくありません。