我将此行添加到我的QTestLib测试类:
QFETCH(MyType, value);
在尝试编译测试类时,我收到此错误:
error: no member named 'qt_metatype_id' in 'QMetaTypeId<MyType>'
答案 0 :(得分:4)
当使用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);
...
}
};