class QTest#

《QTest》命名空间包含所有与Qt Test相关的函数和声明。《更多》…

摘要#

静态函数#

注意

本文档可能包含从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

需要软件仿真的错误

注意,WalltimeNanosecondsBytesAllocated 仅通过 setBenchmarkResult() 提供,并且这些指标的结果不能自动由 QTest 框架提供。

另请参阅

benchmarkMetricName() benchmarkMetricUnit()

自版本 4.7 新增。

static addColumnInternal(id, name)#
参数::
  • id – int

  • name – 字符串

静态 asciiToKey(ascii)#
参数::

ascii – 整数

返回类型:

静态 compare_ptr_helper(t1, t2, actual, expected, file, line)#
参数::
  • t1QObject

  • t2QObject

  • 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_*宏和测试事件循环会提前终止它们的循环。在测试调用使用了此模块的宏的辅助函数后,它可以使用此函数来测试是否提前返回。

另请参阅

currentTestFailed()

静态 failOnWarning(messagePattern)#
参数::

messagePatternQRegularExpression

对于与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(".?"));
}

注意

ignoreMessage()比此功能有优先权,因此匹配给ignoreMessage()failOnWarning()的模式的任何警告都将被忽略。

另请参阅

QTEST_FATAL_FAIL

静态 failOnWarning(message)
参数::

message – 字符串

此函数重载了failOnWarning()

如果输出message,则将测试失败添加到测试日志中。

另请参阅

failOnWarning()

静态 formatString(prefix, suffix, numArguments)#
参数::
  • 前缀 – str

  • 后缀 – str

  • 参数数量 – int

返回类型:

字符

静态 ignoreMessage(type, messagePattern)#
参数::

这是一个重载函数。

忽略由 qDebug(), qInfo() 或 qWarning() 创建的消息。如果输出了匹配 messagePattern 且类型对应的消息,它将从测试日志中移除。如果测试完成且没有输出消息,将在测试日志中添加一个测试失败记录。

注意

调用此函数将仅忽略一条消息。如果您想忽略的消息被输出两次,您也需要对 ignoreMessage() 进行两次调用。

静态 ignoreMessage(type, message)
参数::

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

忽略由 qDebug(), qInfo() 或 qWarning() 创建的消息。如果输出了与对应 typemessage 相匹配的消息,它将从测试日志中移除。如果测试完成且消息未被输出,将在测试日志中添加一个测试失败记录。

注意

调用此函数将仅忽略一条消息。如果您想忽略的消息被输出两次,您也需要对 ignoreMessage() 进行两次调用。

示例

dir = QDir()
QTest.ignoreMessage(QtWarningMsg, "QDir.mkdir: Empty or null file name(s)")
dir.mkdir("")

上述示例测试了用无效文件名调用 QDir::mkdir() 时,它会输出正确的警告。

静态 keyToAscii(key)#
参数::

keyKey

返回类型:

int

静态 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 – 字符串

  • modeTestFailMode

  • 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

如果想要不使用QBENCHMARK宏来报告基准结果,请使用此函数。使用metric来指定Qt Test如何解释结果。

结果的上下文将是测试函数名称以及任何从_data函数中的数据标记。此函数可以在每个测试函数中调用一次,后续调用将替换先前的报告结果。

请注意,-iterations命令行参数对没有QBENCHMARK宏的测试函数没有影响。

static setMainSourcePath(file[, builddir=None])#
参数::
  • file – 字符串

  • builddir – 字符串

static testObject()#
返回类型:

QObject

static toPrettyCString(unicode, length)#
参数::
  • unicode – str

  • length – int

返回类型:

字符