Я добавил эту строку в мой тестовый класс QTestLib:
QFETCH(MyType, value);
При попытке скомпилировать тестовый класс я получаю эту ошибку:
error: no member named 'qt_metatype_id' in 'QMetaTypeId<MyType>'
Когда используешь QTest::addColumn
а также QFETCH
для типа, не встроенного в Qt, вы должны добавить эту строку:
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);
...
}
};
Других решений пока нет …