11[CmdletBinding ()]
22param ()
33
4- function Import-TestingHelper ($Version ){
4+ function Import-TestingHelper {
5+ [CmdletBinding ()]
6+ param (
7+ [Parameter ()][string ]$Version ,
8+ [Parameter ()][switch ]$AllowPrerelease ,
9+ [Parameter ()][switch ]$PassThru
10+ )
511
6- if (-not (import-Module TestingHelper - RequiredVersion $Version - PassThru - ErrorAction SilentlyContinue )) {
7- Install-Module - Name TestingHelper - Force - RequiredVersion $Version
8- Import-Module - Name TestingHelper - Force - RequiredVersion $Version
12+
13+ if ($Version ) {
14+ $V = $Version.Split (' -' )
15+ $semVer = $V [0 ]
16+ $AllowPrerelease = ($AllowPrerelease -or ($null -ne $V [1 ]))
17+ }
18+
19+ $module = Import-Module TestingHelper - PassThru - ErrorAction SilentlyContinue - RequiredVersion:$semVer
20+
21+ if ($null -eq $module ) {
22+ $installed = Install-Module - Name TestingHelper - Force - AllowPrerelease:$AllowPrerelease - passThru - RequiredVersion:$Version
23+ $module = Import-Module - Name $installed.Name - RequiredVersion ($installed.Version.Split (' -' )[0 ]) - Force - PassThru
24+ }
25+
26+ if ($PassThru ) {
27+ $module
928 }
1029}
1130
12- Import-TestingHelper - Version $Version
31+ # Import-TestingHelper -Version "2.1.1-alpha"
32+ uninstall-Module - name TestingHelper - AllVersions ; rmo testinghelper*
33+ Import-TestingHelper - AllowPrerelease # 2.1.1-alpha
34+
35+ Import-TestingHelper - Version 2.5 # 2.5
36+
37+ uninstall-Module - name TestingHelper - AllVersions ; rmo testinghelper*
38+ Import-TestingHelper - Version 1.3 # 1.3
39+
40+ uninstall-Module - name TestingHelper - AllVersions ; rmo testinghelper*
41+ Import-TestingHelper # 2.0
1342
14- $psd = get-childitem - Path $PSScriptRoot - Filter * .psd1
43+ uninstall-Module - name TestingHelper - AllVersions ; rmo testinghelper*
44+ Import-TestingHelper - Version " 2.1.1-alpha" # 2.1.1-alpha
45+ Import-TestingHelper # 2.1.1-alpha
1546
16- Import-Module - Name $psd.FullName - Force
47+ # Run test by PSD1 file
48+ # Test-ModulelocalPSD1
1749
18- Test-Module - Name $psd.BaseName
50+ # Run tests by module name
51+ # We need to manage the import of the version we want to test
52+ # If there are different versions of the module installed, we need to import the one we want to test
53+ # $psd = get-childitem -Path $PSScriptRoot -Filter *.psd1
54+ # Import-Module -Name $psd.FullName -Force
55+ # Test-Module -Name $psd.BaseName
0 commit comments