QTestLib ライブラリと QTest を使用して単体テストを実行しています。私は Windows 7 で作業しており、MVSC 2010 コンパイラで Qt 4.8 を使用しています。次を使用してテストを実行すると:
QTest::qExec(TestDateDD/whateverTestClass);
コンソールに出力が表示されます。
********* Start testing of TestDateDD *********
Config: Using QTest library 4.8.0, Qt 4.8.0
PASS : TestDateDD::initTestCase()
PASS : TestDateDD::testValidity()
FAIL! : TestDateDD::testMonth(2012/7/10) Compared values are not the same
Actual (date.longMonthName(date.month())): July
Expected (monthname): June
..\UnitTestingPlugiin\TestDateDD.cpp(38) : failure location
PASS : TestDateDD::cleanupTestCase()
Totals: 3 passed, 1 failed, 0 skipped
********* Finished testing of TestDateDD *********
ただし、私の要件は、テスト スロットごとに GUI にこのメッセージを表示することです。いくつかの調査を行ったところ、qtestlog.cppは独自の messageHandler を使用してテスト出力を管理し、結果を PASS または FAIL として失敗メッセージ、行番号などとともに表示することがわかりました。QTest のこの messageHandler を処理する方法はありますか?私のGUIアプリケーション?