1
+ [CmdletBinding ()]
1
2
param (
3
+ [Parameter (Mandatory = $false )]
4
+ [ValidateNotNullOrEmpty ()]
2
5
[string ]$Tag = ' '
3
6
)
4
7
$MODULE_NAME = (Get-Item $PSScriptRoot / ../ ).Name
5
8
$MODULE_DIR = " $PSScriptRoot /../src/$MODULE_NAME "
6
- $MODULE_PATH = " $MODULE_DIR /$MODULE_NAME .psm1 "
9
+ $MODULE_MANIFEST = " $MODULE_DIR /$MODULE_NAME .psd1 "
7
10
8
11
Set-StrictMode - Version Latest
9
- $global :PesterDebugPreference_ShowFullErrors = $true
10
12
11
13
# Install Pester if needed
12
14
$pester = Get-Module Pester - ListAvailable - ErrorAction SilentlyContinue
13
15
$pesterMinVersion = [version ]' 4.0.0'
14
16
$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
21
19
}
22
- Get-Module Pester - ListAvailable
20
+ Get-Module Pester | Remove-Module - Force
23
21
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
24
26
25
27
# Import our module
26
28
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 "
28
31
32
+ $global :PesterDebugPreference_ShowFullErrors = $true # For Pester 4
29
33
if ($Tag ) {
30
34
# Run Unit Tests
31
35
$res = Invoke-Pester - Script $MODULE_DIR - Tag $Tag - PassThru - ErrorAction Stop
@@ -48,7 +52,7 @@ if ($Tag) {
48
52
" $ ( $res2.FailedCount ) integration tests failed." | Write-Host
49
53
}
50
54
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 )) {
52
56
throw
53
57
}
54
58
}
0 commit comments