Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

You can use the XUnit action to run automated unit tests.   

Info

The XUnit action in Continua is a wrapper around the XUnit.Runner.Console.exe command line. If you're having trouble using the XUnit action, please refer to the XUnit documentationCommand Line Reference.

The XUnit action can be used to run automated unit tests.

XUnit

Image RemovedImage Added

Name

A friendly name for this action (will be displayed in the actions workflow area).

...

The path and file name of the test output. This path is relative to the workspace and the file must end in .xml (it will be appended if not). Leave blank to use the name of the first assembly. [-xml]

Assembly File Patterns

The file names or patterns to match assembly files to test.

...

Tick this to automatically install XUnit on the agent using NuGet. Additional fields will be shown allowing you to enter the "Platform" and and installation folder "Install Xunit To". A new NuGet tab will also be displayed with options for the NuGet command line.

...

The version of XUnit to use to run the tests. Choose Custom if the version is not listed - if you are installing using NuGet then a "XUnit Runner Version" field will be displayed for you to enter the version to install. 

...

When not installing using NuGet, the "Using" drop down is populated with any property collector whose namespace matches the pattern defined by the XUnit Actionaction. The pattern for this action is  ^XUnit\..*

...

Alternatively, you can select the Custom option from the Using drop down list and specify a path in the resulting input field that will be displayed. Please read Why it's a good idea to use a property collector before using this option.

Include

Image Removed

Include Traits

Only run tests with any of the matching name/value traits. -trait

Include Methods

Only run any of the given test methods. One per line. Each method can be fully specified or use a wildcard. i.e. 'MyNamespace.MyClass.MyTestMethod' or '*.MyTestMethod'. --method

Include Classes

Only run any of the given test classes. One per line. Each class should be fully specified. i.e. 'MyNamespace.MyClass. --class

Include Namespaces

Only run any of the given test namespaces. One per line. i.e. 'MyNamespace.MySubNamespace. --namespace

Exclude

Image Removed

Exclude Traits

Do not run tests with any of the matching name/value traits. --notraits

Exclude Methods

Do not run any of the given test method. One per line. Each method can be fully specified or use a wildcard. i.e. 'MyNamespace.MyClass.MyTestMethod' or '*.MyTestMethod'. --nomethod

Exclude Classes

Do not run any of the given test classes. One per line. Each class should be fully specified i.e. 'MyNamespace.MyClass'. --noclass

Exclude Namespaces

Do not run any of the given test namespaces. One per line. 'MyNamespace.MySubNamespace'. --nonamespace

NuGet


NuGet

Image AddedImage Removed

Install XUnit To

...

The Using drop down is populated by any property collector properties whose namespace matches the pattern defined by the NuGet Actionaction. The pattern for this action is  ^NuGet\..* . The default property collector searches the environment path for "NuGet.exe".  

If you create a property collector for this action, make sure you select the Path Finder PlugIn type and give it a name that will match the pattern above in blue.

...

Alternatively, you can select the Custom option from the Using drop down list and specify a path in the resulting input field that will be displayed. Please read Why it's a good idea to use a property collector before using this option.


Include

Options

Image Added

Include Traits

Only run tests with any of the matching name/value traits. One per line. [-trait]

Include Methods

Only run any of the given test methods. One per line. Each method can be fully specified or use a wildcard. i.e. 'MyNamespace.MyClass.MyTestMethod' or '*.MyTestMethod'. [-method]

Include Classes

Only run any of the given test classes. One class per line. Each class should be fully specified. i.e. 'MyNamespace.MyClass. [-class]

Include Namespaces

Only run any of the given test namespaces. One per line. i.e. 'MyNamespace.MySubNamespace. [-namespace]


Exclude

Image Added

Exclude Traits

Do not run tests with any of the matching name/value traits. One per line. [-notraits]

Exclude Methods

Do not run any of the given test method. One per line. Each method can be fully specified or use a wildcard. i.e. 'MyNamespace.MyClass.MyTestMethod' or '*.MyTestMethod'. [-nomethod]

Exclude Classes

Do not run any of the given test classes. One class per line. Each class should be fully specified i.e. 'MyNamespace.MyClass'. [-noclass]

Exclude Namespaces

Do not run any of the given test namespaces. One per line. 'MyNamespace.MySubNamespace'. [-nonamespace]


Options

Image AddedImage Removed

Convert skipped tests into failures

If this is ticked, skipped tests are converted into failures. [-failskips]

Stop on first test failure

If this is ticked, it stops on first test failure. [-stoponfail]

Level of Parallelism

The level of parallelism. [-parallel]

Logging level

The amount of information detail to display in the build log. [–quiet | -verbose]

Enable diagnostic messages for all test assemblies.

...

Not visible if the 'Logging Level' field is set to Quiet'.

If this is ticked, it enables diagnostic messages for all test assemblies. [-diagnostics]

Fail action if any tests fail

...

If this is ticked, any warnings logged will not mark the action with a warning status.


Environment

Image AddedImage Removed

Environment Variables

Multiple environment variables can be defined - one per line. These are set before the command line is run.

Log environment variables

If this is ticked, environment variable values are written to the build log. 

Generate system environment variables

Tick this checkbox to set up a list of new environment variables prefixed with 'ContinuaCI.' for all current system expression objects and variables.

Mask sensitive variable values in system environment variables

Visible This checkbox is visible only if the 'Generate system environment variables' checkbox is ticked.

If this is ticked, the values of any variables marked as sensitive will be masked with **** when setting system environment variables. Clear this to expose the values.