2018-12-13 23:22:07 +01:00
|
|
|
# xUnit Tests
|
|
|
|
|
|
|
|
The folder contains xUnit tests for PowerShell Core project.
|
|
|
|
|
|
|
|
## Running xUnit Tests
|
|
|
|
|
|
|
|
Go to the top level of the PowerShell repository and run full set of tests:
|
|
|
|
`Start-PSxUnit` inside a self-hosted copy of PowerShell.
|
|
|
|
|
|
|
|
Go to the test project folder and run `dotnet test -c Release`.
|
|
|
|
|
2019-01-16 01:20:45 +01:00
|
|
|
Use [`filter`][xunit-filter] parameter to run only needed tests:
|
2018-12-13 23:22:07 +01:00
|
|
|
```powershell
|
|
|
|
dotnet test -c Release --filter "FullyQualifiedName~UnitTest1 # Runs tests which have UnitTest1 in FullyQualifiedName
|
|
|
|
dotnet test --filter Name~TestMethod1 # Runs tests whose name contains TestMethod1
|
|
|
|
```
|
|
|
|
|
|
|
|
## Creating xUnit Tests
|
|
|
|
|
|
|
|
Keep the folder structure that is for Pester [../../test/powershell](../../test/powershell) and C# files [../../src](../../src).
|
|
|
|
|
|
|
|
Use namespace names started with `PSTests`.
|
|
|
|
```c#
|
|
|
|
namespace PSTests.YourNameSpace
|
|
|
|
{
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2019-01-08 02:11:17 +01:00
|
|
|
[xunit-filter]: https://docs.microsoft.com/dotnet/core/testing/selective-unit-tests
|