我将此行添加到我的 QTestLib 测试类中:
QFETCH(MyType, value);
尝试编译测试类时,出现此错误:
error: no member named 'qt_metatype_id' in 'QMetaTypeId<MyType>'
当使用QTest::addColumn
andQFETCH
用于 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);
...
}
};