go / expert
Snippet
LIFO-Ressourcenfreigabe-Reihenfolge mittels t.Cleanup in Subtests
Die Methode t.Cleanup registriert Funktionen, die nach Abschluss des Tests oder Subtests aufgerufen werden. Registrierte Callbacks werden in LIFO-Reihenfolge (Last-In-First-Out) ausgeführt, was sicherstellt, dass Subtest-Ressourcen vor den übergeordneten Aufräumarbeiten freigegeben werden.
snippet.go
go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package mainimport "testing"func TestResourceLifecycle(t *testing.T) {t.Cleanup(func() {t.Log("Primary cleanup executed last (LIFO)")})t.Run("Subtest", func(t *testing.T) {t.Cleanup(func() {t.Log("Subtest specific cleanup executed first")})t.Log("Running subtest assertions")})}
Erklärung
1
t.Cleanup(func() {
Registriert einen Cleanup-Callback, der strikt an den Lebenszyklus des aktuellen Test-Kontexts gebunden ist.
2
t.Run("Subtest", func(t *testing.T) {
Erstellt einen isolierten Subtest mit eigenem unabhängigen Cleanup-Stapel.