Skip to content

Commit fe8b2bf

Browse files
🚀 [Feature]: Enable skips on SourceCode.PSModule tests (#84)
## Description - Implements a inline way to skip tests on source code tests. - Fixes #73 - Allow to hold completers in the `src/functions/public` folder. - Improve gathering of info from the source code. ## Type of change <!-- Use the check-boxes [x] on the options that are relevant. --> - [ ] 📖 [Docs] - [ ] 🪲 [Fix] - [ ] 🩹 [Patch] - [ ] ⚠️ [Security fix] - [x] 🚀 [Feature] - [ ] 🌟 [Breaking change] ## Checklist <!-- Use the check-boxes [x] on the options that are relevant. --> - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas
1 parent c98cca9 commit fe8b2bf

File tree

7 files changed

+302
-148
lines changed

7 files changed

+302
-148
lines changed

scripts/tests/PSModule/SourceCode.Tests.ps1

Lines changed: 281 additions & 137 deletions
Large diffs are not rendered by default.

tests/src/functions/public/New-PSModuleTest.ps1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#Requires -Modules @{ModuleName='PSSemVer'; ModuleVersion='1.0'}
2-
2+
#SkipTest:FunctionTest:Difficult to test due to the nature of the function.
3+
#SkipTest:Verbose:Just want to test that a function can have multiple skips.
34
function New-PSModuleTest {
45
<#
56
.SYNOPSIS
@@ -28,11 +29,10 @@ function New-PSModuleTest {
2829
[string] $Name
2930
)
3031
Write-Debug "Debug message"
32+
Write-Verbose "Verbose message" -Verbose
3133
Write-Output "Hello, $Name!"
3234
}
3335

3436
New-Alias New-PSModuleTestAlias3 New-PSModuleTest
3537
New-Alias -Name New-PSModuleTestAlias4 -Value New-PSModuleTest
36-
37-
3838
Set-Alias New-PSModuleTestAlias5 New-PSModuleTest

tests/src/functions/public/Test-PSModuleTest.ps1

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
function Test-PSModuleTest {
1+
#SkipTest:Verbose:Just want to test that a function can have multiple skips.
2+
function Test-PSModuleTest {
23
<#
34
.SYNOPSIS
45
Performs tests on a module.
@@ -15,4 +16,5 @@
1516
[string] $Name
1617
)
1718
Write-Output "Hello, $Name!"
19+
Write-Verbose 'Verbose message' -Verbose
1820
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Register-ArgumentCompleter -CommandName New-PSModuleTest -ParameterName Name -ScriptBlock {
2+
param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters)
3+
$null = $commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters
4+
5+
'Alice', 'Bob', 'Charlie' | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
6+
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_)
7+
}
8+
}

tests/srcWithManifest/functions/public/New-PSModuleTest.ps1

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#Requires -Modules @{ModuleName='PSSemVer'; ModuleVersion='1.0'}
2-
2+
#SkipTest:FunctionTest:Difficult to test due to the nature of the function.
3+
#SkipTest:Verbose:Just want to test that a function can have multiple skips.
34
function New-PSModuleTest {
45
<#
56
.SYNOPSIS
@@ -27,11 +28,11 @@ function New-PSModuleTest {
2728
[Parameter(Mandatory)]
2829
[string] $Name
2930
)
31+
Write-Debug "Debug message"
32+
Write-Verbose "Verbose message" -Verbose
3033
Write-Output "Hello, $Name!"
3134
}
3235

3336
New-Alias New-PSModuleTestAlias3 New-PSModuleTest
3437
New-Alias -Name New-PSModuleTestAlias4 -Value New-PSModuleTest
35-
36-
3738
Set-Alias New-PSModuleTestAlias5 New-PSModuleTest

tests/srcWithManifest/functions/public/Test-PSModuleTest.ps1

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
function Test-PSModuleTest {
1+
#SkipTest:Verbose:Just want to test that a function can have multiple skips.
2+
function Test-PSModuleTest {
23
<#
34
.SYNOPSIS
45
Performs tests on a module.
@@ -15,4 +16,5 @@
1516
[string] $Name
1617
)
1718
Write-Output "Hello, $Name!"
19+
Write-Verbose 'Verbose message' -Verbose
1820
}

tests/tests/PSModuleTest.Tests.ps1

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22
It 'Function: Get-PSModuleTest' {
33
Get-PSModuleTest -Name 'World' | Should -Be 'Hello, World!'
44
}
5-
It 'Function: New-PSModuleTest' {
6-
New-PSModuleTest -Name 'World' | Should -Be 'Hello, World!'
7-
}
85
It 'Function: Set-PSModuleTest' {
96
Set-PSModuleTest -Name 'World' | Should -Be 'Hello, World!'
107
}

0 commit comments

Comments
 (0)