_data函数中的QTest可选列

时间:2015-12-15 08:50:22

标签: c++ qt qtestlib

是否可以在_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将断言。如果它不可用,我想为它指定一些默认值。

0 个答案:

没有答案