Skip to content

Tests: Create shared fixture module #97

Description

@HeyItsGilbert

Create a minimal shared fixture module to be used by the integration-test sub-tasks of #17 (#98, #99, #100, #101, #102, #103).

Agreed design (2026-07-09)

Location and name: tests/fixtures/PSBuildTestFixture/. The name is deliberately distinct from the existing tests/TestModule/ — PowerShell session state is keyed by module name, so two modules both named TestModule would invite cross-contamination between test files.

Contents (inert data only — no build files, no requirements.psd1, no nested test suite):

Scope boundaries:

  • The existing tests/TestModule/ is untouched — it keeps serving tests/build.tests.ps1 for end-to-end child-process builds. Consolidating the two fixtures, if ever desired, is a separate issue
  • Crash/failure test files (needed by Tests: Test-PSBuildPester #102) are not checked in — they get generated into $TestDrive at runtime so the repository's own Pester run can never discover them
  • Fixture content stays minimal; sub-tasks add material (for example Classes//Enum/ directories for compile-order tests) in the pull request that actually tests it

Ships with a smoke test (tests/Fixtures.tests.ps1): manifest validates, module imports from a $TestDrive copy, expected exports.

Target Pester 6.0.0 with classic Should syntax — see notes on #17. Parent issue: #17

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions