kotlin-dsl/DotnetTest.xml (125 lines of code) (raw):
<?xml version="1.0" encoding="UTF-8"?>
<dsl-extension kind="buildStep" type="dotnet" generateDslJar="true" applicable="params['command'] == 'test'">
<class name="DotnetTestStep">
<description>
A [dotnet test step](https://github.com/JetBrains/teamcity-dotnet-plugin) to run .NET CLI command
</description>
</class>
<function name="dotnetTest">
<description>
Adds a [dotnet test step](https://github.com/JetBrains/teamcity-dotnet-plugin) to run .NET CLI command
@see DotnetTestStep
</description>
</function>
<init>
<param name="command" value="test"/>
</init>
<params>
<param name="paths" dslName="projects">
<description>Specify paths to projects and solutions. Wildcards are supported.</description>
</param>
<param name="excludedPaths" dslName="excludedProjects">
<description>Specify paths to excluded projects. 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="test.testCaseFilter" dslName="filter">
<description>Specify the test case filter.</description>
</param>
<param name="framework">
<description>Target framework to test for.</description>
</param>
<param name="configuration">
<description>Target configuration to test for.</description>
</param>
<param name="outputDir" yamlName="output-directory">
<description>The directory where to find the binaries to be run.</description>
</param>
<param name="skipBuild" type="boolean" trueValue="true" falseValue="">
<description>Do not build the project before testing</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="test.settingsFile" dslName="settingsFile">
<description>Run tests that match the given expression.</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 test.</description>
</param>
<param name="verbosity" dslName="logging" type="Verbosity">
<description>
Specify logging verbosity
@see Verbosity
</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>
</types>
<examples>
<example>
<description>
Runs [`dotnet test`](https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-test) command for all the solution files in the checkout directory.
Does not try to build the project, assumes this is already done by some previous step.
</description>
<code>
dotnetTest {
projects = "*.sln"
skipBuild = true
}
</code>
</example>
<example>
<description>
Runs [`dotnet test`](https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-test) for the MyProject.sln solution file.
Collects code coverage with help of [JetBrains DotCover](https://www.jetbrains.com/dotcover/) for the specified assemblies.
</description>
<code>
dotnetTest {
projects = "MyProject.sln"
skipBuild = true
coverage = dotcover {
toolPath = "%teamcity.tool.JetBrains.dotCover.CommandLineTools.DEFAULT%"
assemblyFilters = "build/*.dll"
}
}
</code>
</example>
<example>
<description>
Runs [`dotnet test`](https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-test) for the specified test assemblies.
</description>
<code>
dotnetTest {
projects = "tests/*.dll"
excludedProjects = "tests/ExcludedTests.dll"
skipBuild = true
}
</code>
</example>
</examples>
</dsl-extension>