PowerShell/test/csharp
Christoph Bergmeister [MVP] 5717a5dffc Add xunit project to PowerShell.sln and make it runable from within VisualStudio (#7254)
* add csproj ref to sln

* Remove Microsoft.NET.Test.Sdk NuGet reference. The xunit.runner.visualstudio package is now sufficient for running tests in VS in the latest version (15.7.5)

* use RTM versions of XUnit 2.4.0 that got published today

* Update XUnit in hosting project as well to newer release
2018-08-02 11:51:04 -07:00
..
csharp.tests.csproj Add xunit project to PowerShell.sln and make it runable from within VisualStudio (#7254) 2018-08-02 11:51:04 -07:00
README.md Update test documentation 2016-04-04 19:20:26 -07:00
test_Binders.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00
test_CorePsPlatform.cs Cleanup NonWindowsGetDomainName() (#6948) 2018-05-31 10:18:33 +05:00
test_ExtensionMethods.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00
test_FileSystemProvider.cs CodeFactor code style cleanup: replace literal empty strings with 'string.Empty' (#6950) 2018-06-12 12:30:10 -07:00
test_MshSnapinInfo.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00
test_PSConfiguration.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00
test_PSVersionInfo.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00
test_Runspace.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00
test_SecuritySupport.cs CodeFactor code style cleanup: replace literal empty strings with 'string.Empty' (#6950) 2018-06-12 12:30:10 -07:00
test_SessionState.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00
test_Utils.cs Update copyright and license headers (#6134) 2018-02-13 09:23:53 -08:00

xUnit Tests

These tests are completely Linux specific.

Every test class must belong to [Collection("AssemblyLoadContext")]. This ensures that PowerShell's AssemblyLoadContext is initialized before any other code is executed. When this is not the case, late initialization fails with System.InvalidOperationException : Binding model is already locked for the AppDomain and cannot be reset.

Having every class in the same collection is as close to an xUnit global init hook as can be done.

Running xUnit Tests

Go to the top level of the PowerShell repository and run: Start-PSxUnit inside a self-hosted copy of PowerShell.