28 lines
936 B
PowerShell
28 lines
936 B
PowerShell
#Requires -Version 3
|
|
<#
|
|
.SYNOPSIS
|
|
Executes all unit tests.
|
|
#>
|
|
|
|
$rootDir = Split-Path $PSScriptRoot -Parent
|
|
$time = Get-Date -Format 'yyyy-MM-dd hh-mm-ss'
|
|
$resultsDir = Join-Path $rootDir "TestResults\$time"
|
|
$buildDir = Join-Path $rootDir 'Build\bin'
|
|
$runConfig = Join-Path $rootDir 'Src\Configuration\Local.testsettings'
|
|
|
|
# We need the Invoke-MSTest module to always invoke the latest mstest.exe.
|
|
$modulePath = Join-Path $PSScriptRoot 'Modules\Invoke-MSTest'
|
|
Import-Module $modulePath -ErrorAction Stop
|
|
$msTest = Get-MsTest
|
|
|
|
# Create output dir if it does not exist
|
|
mkdir $resultsDir -Force | Out-Null
|
|
|
|
# Execute all Visual Studio Unit Tests
|
|
Get-ChildItem -Path $buildDir -Filter *.Test.dll -File -Recurse | foreach {
|
|
$unitTestFile = $_.FullName
|
|
$resultsFile = Join-Path $resultsDir ($_.BaseName + '.trx')
|
|
& $msTest /testcontainer:$unitTestFile /resultsfile:$resultsFile /runconfig:$runConfig
|
|
}
|
|
|
|
# TODO: Execute Pester tests |