Files
PowerShell/test/powershell/README.md
T

52 lines
1.5 KiB
Markdown
Raw Normal View History

2016-03-30 15:42:16 -07:00
Pester Testing Test Guide
=========================
2015-09-30 21:37:37 +00:00
2016-05-18 10:08:05 -07:00
Also see the [Pester Do and Don't](../../docs/testing/PesterDoAndDont.md)
document.
2016-04-21 15:49:29 -07:00
Running Pester Tests
--------------------
Go to the top level of the PowerShell repository and run: `Start-PSPester`
inside a self-hosted copy of PowerShell.
You can use `Start-PSPester -Tests SomeTestSuite*` to limit the tests run.
Testing new `powershell` processes
----------------------------------
Any launch of a new `powershell` process must include `-noprofile` so that
modified user and system profiles do not causes tests to fail. You also must
take care to call the development copy of PowerShell, which is *not* the first
one on the path.
Example:
```powershell
$powershell = Join-Path -Path $PsHome -ChildPath "powershell"
& $powershell -noprofile -command "ExampleCommand" | Should Be "ExampleOutput"
```
Portability
-----------
Some tests simply must be tied to certain platforms. Use Pester's
`-Skip` directive on an `It` statement to do this. For instance to run
the test only on Windows:
```powershell
It "Should do something on Windows" -Skip:($IsLinux -Or $IsOSX) { ... }
```
Or only on Linux and OS X:
```powershell
It "Should do something on Linux" -Skip:$IsWindows { ... }
```
Pending
-------
When writing a test that should pass, but does not, please do not skip or delete
the test, but use `It "Should Pass" -Pending` to mark the test as pending, and
file an issue on GitHub.