Test Adapter settings
A .runsettings file is structured as an XML document. The root element, <RunSettings>
, has settings specific to your testing framework. The <QtTest>
element has settings for Qt unit tests.
For more information about using .runsettings files in Visual Studio, see Configure unit tests by using a .runsettings file.
Mandatory element
You must set the Qt version in the <QtTest>
element.
Name | Description | Example |
---|---|---|
QtInstall | Specifies the Qt version used to build and run the tests. | <QtInstall>$(DefaultQtVersion)</QtInstall> |
Minimum runsettings example
<RunSettings> <QtTest> <QtInstall>$(DefaultQtVersion)</QtInstall> <!-- Mandatory --> </QtTest> </RunSettings>
Optional elements
The following table lists optional elements in the <QtTest>
element.
Name | Description | Occurrence | Default value | Example |
---|---|---|---|---|
EnabledAdapter | Enables or disables the Qt test adapter. | Once | true | <EnabledAdapter>true</EnabledAdapter> |
ShowAdapterOutput | Shows output from the test adapter in Output > Tests. | Once | false | <ShowAdapterOutput>false</ShowAdapterOutput> |
TestTimeout | Sets a timeout for individual tests in milliseconds. A value of -1 means no timeout. | Once | -1 | <TestTimeout>-1</TestTimeout> |
DiscoveryTimeout | Sets a timeout for test discovery in milliseconds. A value of -1 means no timeout. | Once | 2000 | <DiscoveryTimeout>2000</DiscoveryTimeout> |
ParsePdbFiles | Parses PDB files to retrieve the source file and line number of test functions. | Once | true | <ParsePdbFiles>true</ParsePdbFiles> |
SubsystemConsoleOnly | Scans only console binaries for Qt test functions. | Once | true | <SubsystemConsoleOnly>true</SubsystemConsoleOnly> |
Output section
Control the location and format of the logs generated during test runs.
Name | Description | Occurrence | Example |
---|---|---|---|
FilenameFormat | Defines how and where the test results are written. Supported output formats are: txt, csv, junitxml, xml, lightxml, teamcity, and tap. | Multiple | <FilenameFormat>PATH,OUTPUTFORMAT</FilenameFormat> |
Verbosity section
Influence the amount of detail in the logs generated during test runs.
Name | Description | Occurrence | Default value | Example |
---|---|---|---|---|
Level | The amount of detail reported in test logs. | Once | empty | <Level>silent</Level> for minimal output. |
LogSignals | Logs all emitted signals and the slot invocations resulting from those signals. | Once | false | <LogSignals>false</LogSignals> |
Commands section
Influence how tests are run and control the test execution environment.
Name | Description | Occurrence | Default value | Example |
---|---|---|---|---|
EventDelay | Control delays in event simulations. | Once | -1 | <EventDelay>-1</EventDelay> |
KeyDelay | Control delays in event simulations. | Once | -1 | <KeyDelay>-1</KeyDelay> |
MouseDelay | Control delays in event simulations. | Once | -1 | <MouseDelay>-1</MouseDelay> |
MaxWarnings | The maximum number of warnings to output. | Once | 2000 | <MaxWarnings>2000</MaxWarnings> |
NoCrashHandler | Enables or disables the Windows Error Reporting dialog. | Once | false | <NoCrashHandler>false</NoCrashHandler> |
Example .runsettings file
The following XML shows the contents of a default Qt .runsettings file. The <QtInstall>
is mandatory, all other elements or sections are optional because the Qt test adapter provides default values.
<?xml version="1.0" encoding="utf-8"?> <!-- File name extension must be .runsettings --> <!-- For more information, see https://docs.microsoft.com/en-us/visualstudio/test/configure-unit-tests-by-using-a-dot-runsettings-file?view=vs-2022 --> <RunSettings> <QtTest> <!-- "The Qt version used to build and run the tests. --> <QtInstall>$(DefaultQtVersion)</QtInstall> <!-- Mandatory. --> <!-- Enables or disables showing all output generated by the test adapter into the default 'Output | Tests' pane. The default value is false. --> <ShowAdapterOutput>false</ShowAdapterOutput> <!-- Optional. --> <!-- Terminates a running test if it exceeds the specified timeout in milliseconds. A timeout of -1 means the test will not be terminated. The default value is -1. --> <TestTimeout>-1</TestTimeout> <!-- Optional. --> <!-- Terminates a running discovery if it exceeds the specified timeout in milliseconds. A timeout of -1 means the test will not be terminated. The default value is 2000. --> <DiscoveryTimeout>2000</DiscoveryTimeout> <!-- Optional. --> <!-- Enables or disable parsing of PDB files to retrieve the source file and line number of test functions for an executable. The default value is true. --> <ParsePdbFiles>true</ParsePdbFiles> <!-- Optional. --> <!-- Scan only console binaries (/SUBSYSTEM:CONSOLE) for Qt test functions. Set to false to scan all binary types at the cost of longer discovery time. The default value is true. --> <SubsystemConsoleOnly>true</SubsystemConsoleOnly> <!-- Optional. --> <!-- Allows multiple FilenameFormat tags for specifying different output files and formats. --> <Output> <!-- This section is optional. --> <!-- Writes the test output to the specified file using the specified output format. Supported output formats: txt, csv, junitxml, xml, lightxml, teamcity, tap. Needs to follow this convention: <FilenameFormat>PATH,OUTPUTFORMAT</FilenameFormat> --> </Output> <!-- Control how much detail is reported in test logs. --> <Verbosity> <!-- This section is optional. --> <!-- Supported values: silent, v1, v2 silent: only shows fatal errors, test failures and minimal status messages. v1: shows when each test function is entered. Only affects plain text output. v2: Extended verbose output; shows each QCOMPARE() and QVERIFY(). This option affects all output formats and implies -v1 for plain text output. "The default value is empty." --> <Level></Level> <!-- Optional. --> <!-- Enables or disables logging all signals that get emitted and the slot invocations resulting from those signals. The default value is disabled. --> <LogSignals>false</LogSignals> <!-- Optional. --> </Verbosity> <!-- The following command-line options influence how tests are run. --> <Commands> <!-- This section is optional. --> <!-- If no delay is specified for keyboard or mouse simulation (QTest::keyClick(), QTest::mouseClick() etc.), the value from this parameter (in milliseconds) is substituted. The default value is -1. --> <EventDelay>-1</EventDelay> <!-- Optional. --> <!-- Like 'EventDelay', but only influences keyboard simulation and not mouse simulation. The default value is -1.--> <KeyDelay>-1</KeyDelay> <!-- Optional. --> <!-- Like 'EventDelay', but only influences mouse simulation and not keyboard simulation. The default value is -1. --> <MouseDelay>-1</MouseDelay> <!-- Optional. --> <!-- Sets the maximum number of warnings to output. 0 for unlimited, defaults to 2000. --> <MaxWarnings>2000</MaxWarnings> <!-- Optional. --> <!-- Enables or disables the Windows Error Reporting dialog, which is disabled by default. The default value is false. --> <NoCrashHandler>false</NoCrashHandler> <!-- Optional. --> </Commands> </QtTest> </RunSettings>
See also Tutorial: Qt Test application, Configure Qt tests using a .runsettings file, and Files.
© 2024 The Qt Company Ltd. 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.