内部にタイマー機能を持つ私のプログラムにgoogle testを使いたいです。 タイマーはWindowsのSetTimer()によって実装されており、タイムアウトメッセージを処理するためにmain()にメッセージキューがあります。メッセージキューに基づいてWindowsアプリケーションでGoogleテストを使用するにはどうすればよいですか?
while (GetMessage(&msg, NULL, 0, 0)) {
if (msg.message == WM_TIMER) {
...
}
DispatchMessage(&msg);
}
Googleテストでは、RUN_ALL_TESTS()を呼び出してテストを開始します。
int main(int argc , char *argv[])
{
testing::InitGoogleTest(&argc , argv);
return RUN_ALL_TESTS();
}
私の質問は、これらの2つの部分をどのように統合できるかということです。私のコードのいくつかの機能がメッセージを送信するので、私はそれを処理するために同じメッセージキューメカニズムを持っている必要があります。
これは、各テストケースでメッセージキュー処理を記述する必要があることを意味しますか?実行可能な方法ですか?
TEST()
{
... message queue here ...
}
この種のテストを行う適切な方法はありますか? ありがとうございます。