Kørsel af xUnit tests fra PowerShell

Nogen gange mangler jeg en måde hvorpå jeg kan køre xunit tests fra powershell, hvor jeg angiver hvilke filer som skal inkluderes i testen. Jeg er sikker på at der findes andre måder, hvorpå dette kan lade sig gøre (måske endda indbygget i console runneren), dog har jeg altid haft success med dette lille script
$includeFilters = "*.Tests.dll","*.Testing.dll"
$consoleRunner = Get-ChildItem -Path $PSScriptRoot\..\ -Recurse -Filter "xunit.console.exe"
$testFiles = Get-ChildItem -Path $PSScriptRoot\..\src -Include $includeFilters -Exclude $excludeFilters -Recurse | ?{ $_.fullname -notmatch "\\obj\\?" }
Write-Host "Root dir for testing" $PSScriptRoot
Write-Host "Include test filters pattern" $includeFilters
Write-Host "Found xunit console runner at" $consoleRunner.FullName
Write-Host "Found" $testFiles.Count "to test"
foreach($testFile in $testFiles)
{
$path = $testFile.FullName
$runner = $consoleRunner.FullName
$command = $runner +" " + $path
$path
iex $command
}
Man skal selv fortælle to ting i starten:
- Hvad skal inkluderes - dette gøres med
$includeFilters
variablen - Hvor ligger console runneren - dette gøres med
$consoleRunner
variablen
Resten af scriptet gør brug af disse to variabler. Der kunne sikkert godt laves nogle if checks som fortæller om alt kan findes, men jeg bruger altid scriptet steder hvor jeg ved at alt findes.
Scriptet er til fri afbenyttelse.
Read other posts