📖 [Docs]: PowerShell module test profiles now match recursive discovery#98
Draft
Marius Storhaug (MariusStorhaug) wants to merge 7 commits into
Draft
📖 [Docs]: PowerShell module test profiles now match recursive discovery#98Marius Storhaug (MariusStorhaug) wants to merge 7 commits into
Marius Storhaug (MariusStorhaug) wants to merge 7 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PowerShell module authors can now choose a documented Simple, Standard, or Advanced test profile, with Process-PSModule discovery and trigger behavior described consistently across the authoring and framework guidance.
New: Three module test profiles
Simple keeps one root-level
./tests/<ModuleName>.Tests.ps1suite. Standard keeps one root-level./tests/<Group>.Tests.ps1suite per public function group, while allowing separately named root-level suites for ungrouped functions and cross-cutting behavior. Advanced is recommended when independent configurations, containers, or ordinary test files should be organized in recursively discovered subdirectories. These are documentation conventions over one filesystem discovery engine, not selectable modes.Changed: Framework discovery and triggering are explicit
Process-PSModule applies precedence independently in every directory: exactly one
*.Configuration.ps1is selected first and suppresses sibling containers and tests; more than one configuration errors. Otherwise, one or more*.Container.ps1files are selected and suppress sibling tests. Otherwise, all*.Tests.ps1files are selected. Layouts may mix across directories because child directories are inspected independently.Every discovered artifact needs a unique prefix before its first dot because that prefix becomes
TestName. Only roottests/BeforeAll.ps1andtests/AfterAll.ps1are special workflow phases..github/PSModule.ymlexposes no profile, layout, or suite-matrix selector;Settings.Test.Module.Suitesis computed internally from module-local files.Recursive discovery is separate from important-file triggering. The default
ImportantFilePatternsmatch only^src/and^README\.md$, so test-only changes do not enter the important-change build, test, and publish path unless a repository adds^tests/and any relevant settings or workflow paths while retaining the defaults it still needs.Technical details
src/docs/Coding-Standards/PowerShell/Testing.mdand links it from the generated index and site navigation.*.Suitesmatrices as computed workflow outputs rather than authorable settings.^tests/inImportantFilePatternsto trigger the important-change path and shows settings/workflow path examples.Relevant issues (or links)