Design: precedence contract for a consumer-supplied PesterConfiguration (#83)
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- powershell
- Bereich
- developer-experience, testing, tooling
Rechercherichtung
Beginne mit dem Lesen von #83 und den Verweisen auf #120 und #137 und verwende anschließend wie angefordert /grilling und /domain-modeling. Kläre Präzedenz, Run.Path, Defaults, Auffindbarkeit und die Unterschiede zwischen Pester 5/6 durch die Diskussion. Fertig ist die Aufgabe, wenn der Präzedenzvertrag hier so detailliert dokumentiert ist, dass #83 ohne weitere Designentscheidungen implementiert werden kann.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Part of #120 (Phase 3 — API improvements). Blocks #83.
Question
When a consumer supplies their own [PesterConfiguration] object via $PSBPreference.Test.Configuration, what wins — their object, or the existing $PSBPreference.Test.* settings?
#83 raises this and leaves it open. It is the one genuinely undesigned item left in v1.0.0, and it defines public API surface that freezes at 1.0.0 — getting the precedence wrong is a breaking change to undo later.
Note: #120 previously pointed at "joshooaj's design in #80". That pointer is stale — #80 is a different, already-closed request about
Output.VerbosityandRun.SkipRemainingOnFailure. There is no existing design to implement.
Open questions
- Precedence. Does the supplied object act as a base that
$PSBPreference.Test.*overrides, or as a final say that PowerShellBuild only fills gaps in? A consumer who sets both and gets the opposite of what they expected is the failure mode to design against. Run.Path. PowerShellBuild computes the test path today. If the consumer setsRun.Pathon their object, is it honored, ignored, or an error? The advanced surface permits multiple paths, which the current single-path model has no answer for.- Opinionated defaults. Which settings does PowerShellBuild insist on regardless (code coverage output location, result file paths, CI-detection behavior) because the surrounding build tasks depend on them?
- Discoverability. If a supplied setting is silently overridden, how does the consumer find out? Silent override is the worst outcome — worse than an error.
- Pester 5 and 6.
Test-PSBuildPestersupports both majors and the #137 matrix verifies both. Does the configuration object surface differ between them in ways that affect the answer?
How to resolve
Conversation, not code — /grilling plus /domain-modeling. @joshooaj should be in it: they raised #83 and the design questions are theirs. A prototype of the merge logic is reasonable if the discussion stalls on something concrete.
Done when
The precedence contract is written down here in enough detail that #83 can be implemented without further design decisions.
- Vorherrschende Sprache
- PowerShell
- Sterne
- 145
- Forks
- 27
- Ø Merge
- 10 Std. 16 Min.
- Gemergte PRs (30 T.)
- 34
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus psake/PowerShellBuild
-
Nothing tests the Build-PSBuildUpdatableHelp branch that deletes a consumer's output directory Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
psake/PowerShellBuild#218 · 1 Kommentar ·
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
psake/PowerShellBuild#211 · 1 Kommentar ·
-
CI: Install the built module from a local repository to verify install-time dependency behaviour Offenenhancement github_actions
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 68/100
psake/PowerShellBuild#229 ·
-
bug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
psake/PowerShellBuild#222 ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 68/100
psake/PowerShellBuild#221 ·
Alle Issues in psake/PowerShellBuild
Ähnliche Issues
-
area: harness bug status: needs-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Human-Agent-Society/reef#625 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
vercel-labs/just-bash#464 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100