1

QTestLib テスト クラスに次の行を追加しました。

QFETCH(MyType, value);

テスト クラスをコンパイルしようとすると、次のエラーが発生します。

error: no member named 'qt_metatype_id' in 'QMetaTypeId<MyType>'
4

1 に答える 1

4

QTest::addColumnタイプが QtにQFETCH組み込まれていない場合は、次の行を追加する必要があります。

Q_DECLARE_METATYPE(MyType);

テストクラスの開始より上に移動します。例えば:

Q_DECLARE_METATYPE(MyType);

class MyTest : public QObject
{
    Q_OBJECT

private slots:

    void testSomething_data()
    {
        QTest::addColumn< MyType >("expectedValue");
        ...
    }
    void testSomething()
    {
        QFETCH(MyType, expectedValue);
        ...
}
};
于 2013-01-14T21:55:30.947 に答える