悪いタイトルで申し訳ありませんが、この質問にタイトルを付ける方法がわかりません。編集して改善してください。
私は Qt テスト フレームワークを使用してテストを作成しており、QVERIFY2()
マクロで使用される有用な出力を作成しようとしています。次のステートメントはすべてコンパイルに失敗し、ほぼ同じエラー メッセージが表示されます。
QVERIFY2( spy.count() == 1, "Emitted signal pathChanged() was emitted " + spy.count() + " times instead of 1 time" );
QVERIFY2( spy.count() == 1, QString( "Emitted signal pathChanged() was emitted " ) + QString( spy.count() ) + QString( " times instead of 1 time" ) );
QVERIFY2( spy.count() == 1, "Emitted signal pathChanged() was emitted " + QString( spy.count() ) + " times instead of 1 time" );
最後の試行のエラー メッセージは次のとおりです。
PathTester.cxx: In member function ‘void PathTester::testReservePath()’:
PathTester.cxx:241:128: error: cannot convert ‘QString’ to ‘const char*’ for argument ‘3’ to ‘bool QTest::qVerify(bool, const char*, const char*, const char*, int)’
PathTester.cxx:241:243: error: cannot convert ‘QString’ to ‘const char*’ for argument ‘3’ to ‘bool QTest::qVerify(bool, const char*, const char*, const char*, int)’
私は何を間違っていますか?どうすればそれを正しく書くことができますか?