javascript / expert
Snippet
Isolierte reaktive Scope-Injektion in Unit-Test-Fixtures
Das Testen komplexer Zustandsabläufe außerhalb von Komponentenbäumen erfordert eine dedizierte Dependency-Injection. Dieses Muster baut ein Test-Harness auf, das unveränderliche Kontext-Snapshots für Testfälle erstellt.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
class TestDependencyInjector {#mockMap = new Map();bindMockInstance(identifier, factoryFn) {this.#mockMap.set(identifier, Object.freeze(factoryFn()));}executeIsolatedTestScope(testProcedure) {const activeScopeContainer = new Map(this.#mockMap);return testProcedure(Object.fromEntries(activeScopeContainer));}}
vue
Erklärung
1
class TestDependencyInjector {
Deklariert eine Harness-Klasse zur Verwaltung von Abhängigkeiten in Unit-Tests.
2
#mockMap = new Map();
Kapselt gemockte Dienst-Bindungen in einer privaten Map-Instanz.
3
bindMockInstance(identifier, factoryFn) {
Registriert ein Fabrik-generiertes Mock-Objekt unter einem eindeutigen Schlüssel.
4
this.#mockMap.set(identifier, Object.freeze(factoryFn()));
Führt die Fabrik aus und friert das Ergebnis ein, um Beeinflussungen zu vermeiden.
5
executeIsolatedTestScope(testProcedure) {
Führt ein Testverfahren in einem isolierten Snapshot der registrierten Mocks aus.
6
const activeScopeContainer = new Map(this.#mockMap);
Erstellt eine Kopie des Registers zur Gewährleistung vollständiger Testisolation.
7
return testProcedure(Object.fromEntries(activeScopeContainer));
Wandelt die Isolations-Map in ein Kontextobjekt um und führt die Test-Assertion aus.