测试

要设置处理测试的首选项,请转至首选项>Testing >General

测试首选项中的常规选项卡

下表概述了一般测试首选项。

设置
Scan threads设置扫描测试时使用的工作线程数量。默认情况下,Qt Creator 使用可用逻辑 CPU 的四分之一。
Omit internal messages忽略内部信息。
Omit run configuration warnings省略推导配置的运行配置警告。
Limit result output默认情况下,测试结果输出最多显示 100,000 个字符。
Limit result description设置测试结果工具提示和说明的最大行数。
Open results when tests start测试开始时自动显示测试结果。
Open results when tests finish测试结束时自动显示测试结果。
Open results only for unsuccesfull test runs仅当测试结果中包含失败、致命或意外通过的测试时才显示测试结果。
Automatically scroll results视图自动滚动以显示最新结果。
Group results by application按用于运行测试的可执行路径对测试结果进行分组。如果你有多个测试可执行文件,并同时运行它们,这将非常有用。
Process arguments将参数传递给在运行配置中指定的测试可执行文件。这是一项试验性功能,可能会导致测试可执行文件执行失败。
Automatically run在成功构建当前项目后,自动运行所有或选定的测试。
Timeout设置执行测试用例的最长时间(以秒为单位)。
Reset Cached Choices有时,Qt Creator 无法推断要使用哪个可执行文件或运行配置。如果在尝试执行测试时,它反复要求您选择要运行的测试,您可以让它缓存您的选择,并在适当的地方使用它们。当您切换到另一个项目、关闭当前项目或选择此设置时,Qt Creator 会清除缓存。
Active Test FrameworksQt Creator 选择要处理的测试。为提高全面扫描测试的性能,请禁用您不使用的测试框架。
Group对活动测试框架的相关测试用例进行分组。默认情况下,Qt Creator 会对同一目录下的测试进行分组。

要覆盖当前项目的某些首选项,请访问Projects >Project Settings >Testing

Qt 测试

要为 Qt Test 设置首选项,请访问首选项>Testing > 。 Qt Test.

测试首选项中的 Qt Test 选项卡

基准测试中的代码会被测量,为了获得准确的测量结果,可能还会重复测量几次。这取决于您在Benchmark Metrics 中选择的测量后端:

  • 壁挂时间
  • CPU tick 计数器
  • 事件计数器
  • Valgrind Callgrind
  • Linux Perf

更多信息,请参阅创建基准

下表总结了其他 Qt Test 偏好设置。

设置
Disable crash handler while debugging允许调试器中断断言上的 Qt Test。
Use XML outputXML 输出可避免解析问题,但纯文本更易于阅读。

注意: 纯文本遗漏了某些信息,如持续时间。

Verbose benchmarks运行基准时接收冗长输出。
Log signals and slots在测试日志中记录有关信号和插槽的信息。
Limit warnings明确限制测试日志中警告的最大数量。如果完全不需要限制,则将限制设为 0。默认限制为 2000。
Check for derived Qt Quick tests检查Qt Quick 源自TestCase 的测试。

注意: 此功能相当昂贵,会大大增加扫描时间。

Find user-defined locations解析以下模式的报文并将其用作位置信息:file://filepath:line

其中":行 "为可选项。

注意: 如果在代码中使用这些模式,调试信息和其他信息的位置信息可能会有所改善,但可能会出现一些位置不正确和性能降低的情况。

谷歌测试

要指定运行 Google 测试的设置,请访问首选项>Testing >Google Test

测试首选项中的 "谷歌测试 "选项卡

下表总结了 Google 测试首选项。

设置
Run disabled tests在测试运行期间执行禁用的测试。
Throw on failure将断言失败转化为 C++ 异常。
Break on failure while debugging将故障转化为调试器断点。
Repeat tests多次重复运行测试。
Iterations运行测试的次数。
Shuffle tests确保测试的独立性和可重复性,每次以不同的顺序运行测试。
Seed用于初始化随机化器的种子。值 0 会根据当前时间戳生成一个种子。
Group mode使用GTest Filter 对 Google 测试进行分组。
Active filter要使用的 GTest 过滤器。

有关 GTest 过滤器的更多信息,请参阅运行测试子集

Boost 测试

要指定运行 Boost 测试的设置,请访问首选项>Testing >Boost Test

测试偏好设置中的 "提升测试 "选项卡

下表总结了 Boost 测试首选项。

设置
Log format测试报告中记录的事件类型。
Report level测试结果报告的冗长程度。如果不需要报告,请选择No
Randomize以随机顺序执行测试。
Seed用于初始化随机化器的种子。值 0 表示无随机化,值 1 使用当前时间,任何其他值都会生成随机种子。
Catch system errors捕捉或忽略系统错误
Floating point exceptions检测浮点异常陷阱
Detect memory leaks检测内存泄漏

Catch2 测试

要指定运行 Catch2 测试的设置,请访问首选项>Testing >Catch Test

在 "测试 "首选项中捕捉 "测试 "选项卡

下表总结了 Catch2 测试首选项。

设置
Show success同时显示成功的表达式。默认情况下,Catch2 只打印失败的表达式。
Break on failure while debugging将失败变成调试器断点。
Skip throwing assertions跳过测试已抛出异常的断言。
Visualize whitespace将空白转化为转义序列
Abort after在方框内指定的失败次数后终止测试。
Benchmark samples运行基准时收集的样本数。
Benchmark resamples基准测试后用于统计引导的重采样数。
Benchmark confidence interval统计引导的置信区间。
Benchmark warmup time基准测试开始前每次测试的预热时间。
Disable analysis禁用统计分析和引导。

基于 CTest 的测试

要指定运行基于 CTest 的测试的设置,请转至首选项>Testing >CTest

测试首选项中的 CTest 选项卡

下表总结了 CTest 首选项。

设置
Output on failure如果测试失败,显示测试特定输出。与 CTest 默认设置相反,此设置默认为打开。
Schedule random以随机顺序执行测试。
Stop on failure在第一个测试失败时自动停止测试执行。
Output mode,CTest 输出的冗长程度。

注意: 该设置只影响文本显示器上的输出。

Repeat tests重新运行测试,由Repetition mode 决定。在Count 中设置重复测试的最大次数。
Run in Parallel使用指定的Jobs 并行运行测试。在Test load 中,限制并行执行。如果新测试会导致 CPU 负载超过Threshold 中设置的阈值,则 CTest 不会启动新测试。

另请参阅 "如何:测试"和 "测试 结果"。

Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.