⚙️ [Maintenance]: Require Pester 6.x in test files#31
⚙️ [Maintenance]: Require Pester 6.x in test files#31Marius 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 tightens the test dependency contract by adding a PowerShell #Requires -Modules directive so the module’s tests run only with Pester 6.x, aligning test discovery/execution with the module ecosystem’s major-version expectations.
Changes:
- Add
#Requires -Modulesto require Pester>= 6.0.0and< 7.0.0(viaMaximumVersion = '6.*'). - Pin the required module identity using Pester’s module
GUID.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
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. |
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
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.