kotlin-dsl/DotnetVsTest.xml (159 lines of code) (raw):

<?xml version="1.0" encoding="UTF-8"?> <dsl-extension kind="buildStep" type="dotnet" generateDslJar="true" applicable="params['command'] == 'vstest'"> <class name="DotnetVsTestStep"> <description> A [.NET vstest step](https://github.com/JetBrains/teamcity-dotnet-plugin) to run .NET VSTest </description> </class> <function name="dotnetVsTest" yamlName="dotnet-vstest"> <description> Adds a [.NET vstest step](https://github.com/JetBrains/teamcity-dotnet-plugin) to run .NET VSTest @see DotnetVsTestStep </description> </function> <init> <param name="command" value="vstest"/> </init> <params> <param name="paths" dslName="assemblies"> <description>Specify paths to test assemblies. Wildcards are supported.</description> </param> <param name="excludedPaths" dslName="excludedAssemblies"> <description>Specify paths to excluded test assemblies. Wildcards are supported.</description> </param> <param name="teamcity.build.workingDir" dslName="workingDir" yamlName="working-directory"> <description> [Build working directory](https://www.jetbrains.com/help/teamcity/?Build+Working+Directory) for script, specify it if it is different from the [checkout directory](https://www.jetbrains.com/help/teamcity/?Build+Checkout+Directory). </description> </param> <param name="vstest.version" dslName="version" type="VSTestVersion"> <description> VSTest version to use @see VSTestVersion </description> </param> <param name="test.filter" dslName="filter" type="compound" yamlName="test-filter"> <description> The filter type used while test run </description> <option name="testName" value="name"> <param name="test.names" dslName="names"> <description>Specify the list of test names to run.</description> </param> </option> <option name="testCaseFilter" value="filter"> <param name="test.testCaseFilter" dslName="filter"> <description>Run tests that match the given expression.</description> </param> </option> </param> <param name="framework"> <description>The target .NET Framework version to be used for test execution.</description> </param> <param name="test.settingsFile" dslName="settingsFile"> <description>The path to the run settings configuration file.</description> </param> <param name="test.retry.maxRetries" dslName="maxRetries"> <description>Rerun failed tests until they pass or until the maximum number of attempts is reached.</description> </param> <param name="args"> <description>Enter additional command line parameters for dotnet vstest.</description> </param> <param name="verbosity" dslName="logging" type="Verbosity"> <description> Specify logging verbosity @see Verbosity </description> </param> <param name="vstest.InIsolation" dslName="runInIsolation" type="boolean" trueValue="true" falseValue=""> <description> Whether TeamCity should run tests in an isolated process </description> </param> <param name="singleSession" dslName="singleSession" type="boolean" trueValue="true" falseValue=""> <description> Whether TeamCity should run tests in a single session </description> </param> <param name="platform" dslName="platform" type="Platform"> <description> Target platform architecture to be used for test execution @see Platform </description> </param> <param name="required.sdk" dslName="sdk"> <description>.NET SDK versions separated by semicolon to be required on agents.</description> </param> </params> <types> <enum name="Verbosity"> <description> Logging verbosity </description> <option name="Quiet" value="Quiet"/> <option name="Minimal" value="Minimal"/> <option name="Normal" value="Normal"/> <option name="Detailed" value="Detailed"/> <option name="Diagnostic" value="Diagnostic"/> </enum> <enum name="VSTestVersion"> <description>VSTest version</description> <option name="CrossPlatform" value="VSTest_CrossPlatform"> <description>Cross-platform VSTest</description> </option> <option name="V18" value="VSTest_18_Windows"> <description>VSTest 2026</description> </option> <option name="V17" value="VSTest_17_Windows"> <description>VSTest 2022</description> </option> <option name="V16" value="VSTest_16_Windows"> <description>VSTest 2019</description> </option> <option name="V15" value="VSTest_15_Windows"> <description>VSTest 2017</description> </option> <option name="V14" value="VSTest_14_Windows"> <description>VSTest 2015</description> </option> <option name="V12" value="VSTest_12_Windows"> <description>VSTest 2013</description> </option> </enum> <enum name="Platform"> <description>Platform bitness</description> <option name="Auto" value="auto"/> <option name="x86" value="x86"/> <option name="x64" value="x64"/> <option name="ARM" value="ARM"/> </enum> </types> <examples> <example> <description> Runs [`dotnet vstest`](https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-vstest) command to run selected tests by names from the specified assemblies </description> <code> dotnetVsTest { assemblies = "path\to\assemblies\*.dll" excludedAssemblies = "path\to\assemblies\ExcludedTests.dll" version = DotnetVsTestStep.VSTestVersion.V17 filter = testName { names = """ Test0 Test1 Test2 """.trimIndent() } settingsFile = "MyProjectTestsSettings.runsettings" logging = DotnetVsTestStep.Verbosity.Normal runInIsolation = true platform = DotnetVsTestStep.Platform.x64 } </code> </example> </examples> </dsl-extension>