Qt Testlib 基本使用 (2)
来源:互联网 发布:java实现二叉树遍历 编辑:程序博客网 时间:2024/05/13 03:50
数据驱动测试,在一个测试用例上添加多个数据,运行多次的测试用例。
添加一组数据:
QCOMPARE(QString("hello").toUpper(),QString("HELLO"));
QCOMPARE(QString("Hello").toUpper(),QString("HELLO"));
QCOMPARE(QString("HELLO").toUpper(),QString("HELLO"));
这组数据都会调用同 一个测试用例。
Qt Testlib 提供很简单的添加数据方式,只需要在class 中多定义一个 private slot,
并且函数的名字与test case 的名字相同,然后在函数结尾处+ _data, 表示这是一个添加数据的函数。
class TestQString:publicQObject
{
Q_OBJECT
private slots:
void toUpper_data();
void toUpper();
};
测试数据会以类似表格的方式保存,下面就是创建这个数据表格
void TestQString::toUpper_data()
{
QTest::addColumn<QString>("string"); // 添加测试数据,创建表格中的第一列数据,数据的名字是 string, 这个名字会在 测试用例中使用
QTest::addColumn<QString>("result"); // 添加测试数据,创建表格中的第二列数据,数据的名字是 result, 这个名字会在 测试用例中使用
//使用函数newRow 添加数据到表格, newRow 带了一个参数,用于指示测试用例运行当当前数据的时候的名字。
QTest::newRow("all lower") << "hello" << "HELLO";
QTest::newRow("mixed") << "Hello" << "HELLO";
QTest::newRow("all upper") << "HELLO" << "HELLO";
}
添加数据之后的结果示意图如下:
index name string result 0all lower"hello"HELLO1mixed"Hello"HELLO2all upper"HELLO"HELLO
void TestQString::toUpper()
{
// 使用宏QFETCH,读取数据, 参数1 表示数据的类型,数据2 是之前添加数据时使用的名字。
// 这里通过名字获取数据,让testcase 与添加数据逻辑分开,当需要添加,减少数据时无需修改测试用例。
QFETCH(QString, string);
QFETCH(QString, result);
QCOMPARE(string.toUpper(), result);
}
0 0
- Qt Testlib 基本使用 (2)
- Qt Testlib 基本使用 (1)
- Qt Testlib 测试GUI(2)
- Qt之 Testlib学习(1)
- testLib
- Qt Testlib 测试GUI(1)
- Qt基本框架使用:
- Qt单元测试--基本使用
- TestLib目录
- Qt数据库的基本使用
- QT学习 第一章:基本对话框--使用进度条
- Qt控件美化(基本使用)
- Qt控件美化(基本使用)
- Qt控件美化(基本使用)
- Qt样式表QSS基本使用
- QT学习 第一章:基本对话框--基本对话框使用
- Qt基本
- QT学习 第一章:基本对话框--使用标准输入框
- 〖研发第一线〗功能不重要,数据和场景才是重要的
- ContentType ,charset和pageEncoding的区别
- Android开发学习之卡片式布局的简单实现
- LaTeX 第一篇
- Sharepoint学习笔记---Linq to Sharepoint--如何获取Linq Query 生成的CALM
- Qt Testlib 基本使用 (2)
- OOP Design (Head First Design Patterns) 学习笔记--02 Summary One
- [leet code] Same Tree
- [LeetCode] Longest Consecutive Sequence
- 转载的C++单例模式
- 集合类:VBA集合对象的安全包装
- Java 7之集合类型第1篇 - Java集合
- Qt Testlib 测试GUI(1)
- shoelace源代码分析之shoe.c