是否可以在_data()
函数中包含可选列,类似于函数的可选参数 - int foo(int a, int b=5)
。
类似的东西:
void Test1::testCase1_data()
{
QTest::addColumn<QString>("requiredCol");
QTest::addColumn<QString>("optionalCol");
// This row doesn't have the optionalCol:
QTest::newRow("1") << "23";
// But this row does:
QTest::newRow("2") << "34" << "56";
}
void Test1::testCase1()
{
QFETCH(QString, requiredCol);
if (optionalCol doesn't exist) {
optionalCol = "some defaultValue";
} else {
QFETCH(QString, optionalCol);
}
}
不幸的是,如果可选列不可用,QFETCH
将断言。如果它不可用,我想为它指定一些默认值。