Qt Test的另一个特性是所谓的“数据驱动测试”,即通过表格数据的驱动多次执行QCOMPARE()宏。数据表格需要先用QTest::addColumn()和QTest::addRow()定义,然后用QFETCH()宏引用这些数据:
void SomeWidgetTest::testB()
{
// test data created in testB_data()!
QFETCH(QString, inputColumn);
QFETCH(QString, inputResult);
QCOMPARE(myStringOperation(inputColumn), resultColumn);
}
在上例中,数据表中预定义的各行数据会驱动QCOMPARE()操作反复多次执行。
下面,我们可以创建一些测试程序了,实现一些测试用例,并从命令行运行这些测试用例(具体步骤请参考Qt官方文档),也可以利用QtCreator对单元测试的支持,见下一节QtCreator对测试的支持
网友评论