Skip to content

Commit 49f75b6

Browse files
committed
Enhancement (ci): Enhance test entrypoint script
1 parent 92a8aac commit 49f75b6

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

test/test.ps1

+15-11
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,35 @@
1+
[CmdletBinding()]
12
param (
3+
[Parameter(Mandatory=$false)]
4+
[ValidateNotNullOrEmpty()]
25
[string]$Tag = ''
36
)
47
$MODULE_NAME = (Get-Item $PSScriptRoot/../).Name
58
$MODULE_DIR = "$PSScriptRoot/../src/$MODULE_NAME"
6-
$MODULE_PATH = "$MODULE_DIR/$MODULE_NAME.psm1"
9+
$MODULE_MANIFEST = "$MODULE_DIR/$MODULE_NAME.psd1"
710

811
Set-StrictMode -Version Latest
9-
$global:PesterDebugPreference_ShowFullErrors = $true
1012

1113
# Install Pester if needed
1214
$pester = Get-Module Pester -ListAvailable -ErrorAction SilentlyContinue
1315
$pesterMinVersion = [version]'4.0.0'
1416
$pesterMaxVersion = [version]'4.10.1'
15-
if ( ! $pester -or ! ($pester.Version | ? { $_ -ge $pesterMinVersion -and $_ -le $pesterMaxVersion }) ) {
16-
if ($PSVersionTable.PSVersion.Major -ge 6) {
17-
Install-Module Pester -Force -Scope CurrentUser -MinimumVersion $pesterMinVersion -MaximumVersion $pesterMaxVersion -ErrorAction Stop
18-
}else {
19-
Install-Module Pester -Force -Scope CurrentUser -MinimumVersion $pesterMinVersion -MaximumVersion $pesterMaxVersion -SkipPublisherCheck -ErrorAction Stop
20-
}
17+
if (!$pester -or !($pester.Version | ? { $_ -ge $pesterMinVersion -and $_ -le $pesterMaxVersion })) {
18+
Install-Module Pester -Force -Scope CurrentUser -MinimumVersion $pesterMinVersion -MaximumVersion $pesterMaxVersion -ErrorAction Stop -SkipPublisherCheck
2119
}
22-
Get-Module Pester -ListAvailable
20+
Get-Module Pester | Remove-Module -Force
2321
Import-Module Pester -MinimumVersion $pesterMinVersion -MaximumVersion $pesterMaxVersion -Force -ErrorAction Stop
22+
Get-Module Pester
23+
24+
# Test the module manifest
25+
Test-ModuleManifest "$MODULE_MANIFEST" -ErrorAction Stop > $null
2426

2527
# Import our module
2628
Get-Module "$MODULE_NAME" | Remove-Module -Force
27-
Import-Module $MODULE_PATH -Force -ErrorAction Stop
29+
Import-Module $MODULE_MANIFEST -Force -ErrorAction Stop -Verbose
30+
Get-Module "$MODULE_NAME"
2831

32+
$global:PesterDebugPreference_ShowFullErrors = $true # For Pester 4
2933
if ($Tag) {
3034
# Run Unit Tests
3135
$res = Invoke-Pester -Script $MODULE_DIR -Tag $Tag -PassThru -ErrorAction Stop
@@ -48,7 +52,7 @@ if ($Tag) {
4852
"$( $res2.FailedCount ) integration tests failed." | Write-Host
4953
}
5054

51-
if (($res -and $res.FailedCount -gt 0) -or ($res2 -and $res2.FailedCount)) {
55+
if (($res -and $res.FailedCount -gt 0) -or ($res2 -and $res2.FailedCount -gt 0)) {
5256
throw
5357
}
5458
}

0 commit comments

Comments
 (0)