2

悪いタイトルで申し訳ありませんが、この質問にタイトルを付ける方法がわかりません。編集して改善してください。

私は 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)’

私は何を間違っていますか?どうすればそれを正しく書くことができますか?

4

2 に答える 2