- class QTest#
《QTest》命名空间包含所有与Qt Test相关的函数和声明。《更多》…
摘要#
静态函数#
def
asciiToKey()
def
currentAppName()
def
currentDataTag()
定义
keyToAscii()
定义
qCaught()
定义
qCleanup()
定义
qRun()
定义
qSkip()
定义
qSleep()
定义
qWait()
定义
testObject()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建票证来通知我们。
详细描述#
有关如何编写单元测试的信息,请参阅Qt Test 概述。
- 类 TestFailMode#
本枚举描述了处理检查的模式,例如通过
QVERIFY()
或QCOMPARE()
宏,这些已知会失败的模式。这些模式在不考虑检查成功或失败的情况下都适用。常量
描述
QTest.Abort
终止测试的执行。当在不完整的检查之后执行测试没有意义时,请使用此模式。
QTest.Continue
在出现问题的检查之后继续执行测试。
另请参阅
QEXPECT_FAIL()
- class ComparisonOperation#
自版本 6.4 新增。
- class QBenchmarkMetric#
该枚举列出了所有可以基准测试的内容。
常量
描述
QTest.FramesPerSecond
每秒帧数
QTest.BitsPerSecond
每秒比特数
QTest.BytesPerSecond
每秒字节数
QTest.WalltimeMilliseconds
毫秒级的时钟时间
QTest.WalltimeNanoseconds
纳秒级的时钟时间
QTest.BytesAllocated
字节数的内存使用
QTest.Events
事件计数
QTest.CPUTicks
CPU时间
QTest.CPUMigrations
在CPU之间进行进程迁移
QTest.CPUCycles
CPU周期
QTest.RefCPUCycles
参考CPU周期
QTest.BusCycles
总线周期
QTest.StalledCycles
停滞周期
QTest.InstructionReads
指令读取
QTest.Instructions
执行指令
QTest.BranchInstructions
分支指令
QTest.BranchMisses
被错误预测的分支指令
QTest.CacheReferences
任何类型的缓存访问
QTest.CacheMisses
任何类型的缓存失效
QTest.CacheReads
缓存读取 / 加载
QTest.CacheReadMisses
缓存读取 / 加载失效
QTest.CacheWrites
缓存写入 / 存储
QTest.CacheWriteMisses
缓存写入 / 存储失效
QTest.CachePrefetches
缓存预取
QTest.CachePrefetchMisses
缓存预取失效
QTest.ContextSwitches
上下文切换
QTest.PageFaults
任何类型的页面错误
QTest.MinorPageFaults
小页面错误
QTest.MajorPageFaults
大页面错误
QTest.AlignmentFaults
由于未对齐导致的错误
QTest.EmulationFaults
需要软件仿真的错误
注意,
WalltimeNanoseconds
和BytesAllocated
仅通过setBenchmarkResult()
提供,并且这些指标的结果不能自动由 QTest 框架提供。另请参阅
benchmarkMetricName()
benchmarkMetricUnit()
自版本 4.7 新增。
- static addColumnInternal(id, name)#
- 参数::
id – int
name – 字符串
- 静态 compare_ptr_helper(t1, t2, actual, expected, file, line)#
- 静态 compare_ptr_helper(t1, t2, actual, expected, file, line)
- 参数::
t1 – 空类型
t2 – 空类型
actual – 字符串
expected – 字符串
file – 字符串
line – 整数
- 返回类型:
布尔值
- 静态 compare_string_helper(t1, t2, actual, expected, file, line)#
- 参数::
t1 – 字符串
t2 – 字符串
actual – 字符串
expected – 字符串
file – 字符串
line – 整数
- 返回类型:
布尔值
- 静态 currentAppName()#
- 返回类型:
字符串
返回当前执行二进制文件的名字。
- 静态 currentDataTag()#
- 返回类型:
字符串
返回当前测试数据的名字。如果测试没有分配任何测试数据,此函数返回
None
。- 静态 currentTestFailed()#
- 返回类型:
布尔值
如果当前测试函数失败,返回
true
,否则返回 false。另请参阅
- 静态 currentTestFunction()#
- 返回类型:
字符串
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
返回当前执行中的测试函数的名称。
示例
def cleanup(self): if qstrcmp(QTest.currentTestFunction(), "myDatabaseTest") == 0: # clean up all database connections closeAllDatabases()
- 静态 currentTestResolved()#
- 返回类型:
布尔值
如果当前测试函数失败或跳过,则返回
true
。适用于测试失败或执行了跳过。如果为true,则测试函数应提前返回。特别是,当在测试函数(但不是其清理过程中)中执行时,
QTRY_*
宏和测试事件循环会提前终止它们的循环。在测试调用使用了此模块的宏的辅助函数后,它可以使用此函数来测试是否提前返回。另请参阅
- 静态 failOnWarning(messagePattern)#
- 参数::
messagePattern –
QRegularExpression
对于与
messagePattern
匹配的每个警告,都会将测试失败添加到测试日志中。在添加失败时,测试函数将继续执行。要取消测试,而不是退出,您可以在返回前检查
currentTestFailed()
是否为true
。对于每个警告,第一个匹配的模式会导致失败,其余的模式将被忽略。
每个测试函数结束时清除所有模式。
void FileTest::loadFiles() { QTest::failOnWarning(QRegularExpression("^Failed to load")); // Each of these will cause a test failure: qWarning() << "Failed to load image"; qWarning() << "Failed to load video"; }
要将触发给定警告的每个测试失败,可以在init()
void FileTest::init() { QTest::failOnWarning(QRegularExpression(".?")); }
- 静态 failOnWarning(message)
- 参数::
message – 字符串
此函数重载了
failOnWarning()
。如果输出
message
,则将测试失败添加到测试日志中。另请参阅
- 静态 formatString(prefix, suffix, numArguments)#
- 参数::
前缀 – str
后缀 – str
参数数量 – int
- 返回类型:
字符
- 静态 ignoreMessage(type, messagePattern)#
- 参数::
type –
QtMsgType
messagePattern –
QRegularExpression
这是一个重载函数。
忽略由 qDebug(), qInfo() 或 qWarning() 创建的消息。如果输出了匹配
messagePattern
且类型对应的消息,它将从测试日志中移除。如果测试完成且没有输出消息,将在测试日志中添加一个测试失败记录。注意
调用此函数将仅忽略一条消息。如果您想忽略的消息被输出两次,您也需要对
ignoreMessage()
进行两次调用。- 静态 ignoreMessage(type, message)
- 参数::
type –
QtMsgType
message – 字符串
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
忽略由 qDebug(), qInfo() 或 qWarning() 创建的消息。如果输出了与对应
type
的message
相匹配的消息,它将从测试日志中移除。如果测试完成且消息未被输出,将在测试日志中添加一个测试失败记录。注意
调用此函数将仅忽略一条消息。如果您想忽略的消息被输出两次,您也需要对 ignoreMessage() 进行两次调用。
示例
dir = QDir() QTest.ignoreMessage(QtWarningMsg, "QDir.mkdir: Empty or null file name(s)") dir.mkdir("")
上述示例测试了用无效文件名调用 QDir::mkdir() 时,它会输出正确的警告。
- 静态 qCaught(expected, what, file, line)#
- 参数::
expected – 字符串
what – str
file – 字符串
line – 整数
- 静态 qCaught(expected, file, line)
- 参数::
expected – 字符串
file – 字符串
line – 整数
- 静态 qCleanup()#
- static qElementData(elementName, metaTypeId)#
- 参数::
elementName – 字符串
metaTypeId – 整数
- 返回类型:
void
- static qExpectFail(dataIndex, comment, mode, file, line)#
- 参数::
dataIndex – 字符串
comment – 字符串
mode –
TestFailMode
file – 字符串
line – 整数
- 返回类型:
布尔值
- static qExtractTestData(dirName)#
- 参数::
dirName – 字符串
- 返回类型:
QSharedPointer
从资源中提取目录到磁盘。内容递归地提取到临时文件夹中。一旦最后一个对返回值的引用出作用域,自动删除提取的内容。
dirName
是从资源中提取的目录的名称。返回提取数据的临时目录,或错误时返回 null。
- static qFindTestData(basepath[, file=None[, line=0[, builddir=None[, sourcedir=None]]]]])#
- 参数::
basepath – 字符串
file – 字符串
line – 整数
builddir – 字符串
sourcedir – 字符串
- 返回类型:
字符串
- static qFindTestData(basepath[, file=None[, line=0[, builddir=None[, sourcedir=None]]]])
- 参数::
basepath – 字符串
file – 字符串
line – 整数
builddir – 字符串
sourcedir – 字符串
- 返回类型:
字符串
- static qGlobalData(tagName, typeId)#
- 参数::
tagName – 字符串
typeId – 整数
- 返回类型:
void
- static qRun()#
- 返回类型:
int
- static qSkip(message, file, line)#
- 参数::
message – 字符串
file – 字符串
line – 整数
- static qSleep(ms)#
- 参数::
ms – int
这是一个重载函数。
程序休眠ms毫秒,阻塞测试的执行。
等同于调用
QTest::qSleep(std::chrono::milliseconds{ms});
- static qWait(ms)#
- 参数::
ms – int
这是一个重载函数。
等待msecs毫秒。等同于调用
QTest::qWait(std::chrono::milliseconds{msecs});
- static runningTest()#
- 返回类型:
布尔值
- static setBenchmarkResult(result, metric)#
- 参数::
result – float
metric –
QBenchmarkMetric
为此测试函数设置基准结果为result。
如果想要不使用QBENCHMARK宏来报告基准结果,请使用此函数。使用metric来指定Qt Test如何解释结果。
结果的上下文将是测试函数名称以及任何从_data函数中的数据标记。此函数可以在每个测试函数中调用一次,后续调用将替换先前的报告结果。
请注意,-iterations命令行参数对没有QBENCHMARK宏的测试函数没有影响。
- static setMainSourcePath(file[, builddir=None])#
- 参数::
file – 字符串
builddir – 字符串
- static toPrettyCString(unicode, length)#
- 参数::
unicode – str
length – int
- 返回类型:
字符