⚙️ [Maintenance]: Require Pester 6.x in test files#39
⚙️ [Maintenance]: Require Pester 6.x in test files#39Marius Storhaug (MariusStorhaug) wants to merge 2 commits into
Conversation
No Significant Changes DetectedThis PR does not contain changes to files that would trigger a new release:
Build, test, and publish stages will be skipped for this PR. If you believe this is incorrect, please verify that your changes are in the correct locations. |
There was a problem hiding this comment.
Pull request overview
This PR adds an explicit Pester 6.x module requirement to the test script so tests fail fast (at discovery time) when an incompatible Pester major version is installed.
Changes:
- Added
#Requires -Modulesfor Pester with version bounds and module GUID pinning intests/PATH.Tests.ps1.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| #Requires -Modules @{ ModuleName = 'Pester'; ModuleVersion = '6.0.0'; MaximumVersion = '6.*'; GUID = 'a699dea5-2c73-4616-a270-1f7abb777e71' } | ||
|
|
||
| Describe 'PATH' { | ||
| Context 'Function: Get-EnvironemntPath' { |
The GUID pins module identity (precise pinning), a stricter control than the lock-to-major risk appetite. Keep only the version range.
No Significant Changes DetectedThis PR does not contain changes to files that would trigger a new release:
Build, test, and publish stages will be skipped for this PR. If you believe this is incorrect, please verify that your changes are in the correct locations. |
Pester tests in this module now require the Pester 6.x major version, so every contributor and CI run resolves the same major and a new Pester major can't slip in and break the suite. The tests previously declared no framework requirement and ran on whatever Pester happened to be installed.
Changed: tests are locked to the Pester 6.x major
Every
*.Tests.ps1file now starts with a version-bounded requirement:#Requires -Modules @{ ModuleName = 'Pester'; ModuleVersion = '6.0.0'; MaximumVersion = '6.*' }Any Pester
6.xsatisfies it, so minor and patch releases flow in automatically while moving to a new major stays a deliberate, reviewed change. No module source or behaviour changes.Technical Details
#Requires -Modulesstatement to each test file undertests/; non-test files are untouched.ModuleVersion = '6.0.0'is the floor andMaximumVersion = '6.*'the wildcard major ceiling. Module-identity (GUID) pinning is intentionally omitted — it is a separate supply-chain control, not part of the lock-to-major risk appetite.