javascript / expert
Snippet
Objektorientierter Mock-Container für Next.js Server-Action-Kontextisolierung
Ein objektorientierter Dependency-Container kapselt kontextuelle Dienste bei der Ausführung automatisierter Integrationstests für Next.js Server Actions und verhindert Zustandsübertragungen zwischen parallelen Testläufen.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
export class ActionTestEnvironment {private mockStore = new Map<string, unknown>();public bindContext<T>(key: string, instance: T): this {this.mockStore.set(key, instance);return this;}public resolveContext<T>(key: string): T {const service = this.mockStore.get(key);if (!service) throw new Error(`Missing dependency: ${key}`);return service as T;}}
nextjs
Erklärung
1
export class ActionTestEnvironment {
Deklariert eine Klasse zur Verwaltung von Dependency-Injection-Kontexten in Next.js Server Action Tests.
2
private mockStore = new Map<string, unknown>();
Kapselt eine private Lookup-Map, die Kontextschlüssel mit Service-Mock-Instanzen verknüpft.
3
Leere Leerzeile.
4
public bindContext<T>(key: string, instance: T): this {
Registriert flüssig eine typisierte Abhängigkeitsinstanz unter einem angegebenen Schlüssel.
5
this.mockStore.set(key, instance);
Speichert die Instanz im internen Map-Speicher.
6
return this;
Gibt die Klasseninstanz zurück, um Methodenketten zu ermöglichen.
7
}
Schließt die bindContext-Methode.
8
Leere Leerzeile.
9
public resolveContext<T>(key: string): T {
Ruft eine registrierte Abhängigkeitsinstanz ab und prüft deren Existenz.
10
const service = this.mockStore.get(key);
Sucht den Dienst anhand des String-Schlüssels.
11
if (!service) throw new Error(`Missing dependency: ${key}`);
Wirft einen expliziten Laufzeitfehler, wenn die geforderte Abhängigkeit nicht gebunden wurde.
12
return service as T;
Konvertiert die Dienstinstanz in den erwarteten generischen Rückgabetyp.
13
}
Schließt die resolveContext-Methode.
14
}
Schließt die Klassendeklaration.