Go

Testing

testing package, test tables, benchmarks, examples, coverage, testify, mocking

22 Interview-Fragen·
Mid-Level
1

Welche Namenskonvention gilt für eine Testdatei in Go?

Antwort

In Go muss eine Testdatei das Suffix _test.go tragen und im selben Package wie der getestete Code liegen. Um zum Beispiel main.go zu testen, erstellt man main_test.go. Diese Konvention ermöglicht es dem Befehl go test, Testdateien ohne zusätzliche Konfiguration automatisch zu finden.

2

Wie lautet die korrekte Signatur einer Testfunktion in Go?

Antwort

Eine Testfunktion in Go muss mit Test beginnen, einen einzigen Parameter vom Typ *testing.T entgegennehmen und nichts zurückgeben. Der Name muss mit einem Großbuchstaben beginnen, um exportiert zu werden. Zum Beispiel func TestAdd(t *testing.T). Der Parameter t ermöglicht es, Fehler mit t.Error, t.Fail, t.Fatal usw. zu melden.

3

Was ist der Unterschied zwischen t.Error und t.Fatal?

Antwort

t.Error markiert den Test als fehlgeschlagen, setzt die Testausführung jedoch fort, sodass mehrere Fehler erkannt werden können. t.Fatal markiert den Test als fehlgeschlagen und stoppt die Ausführung des aktuellen Tests sofort. Verwende t.Fatal, wenn eine kritische Vorbedingung fehlschlägt und ein Fortfahren keinen Sinn ergibt, etwa bei einem Setup-Fehler oder einem unerwarteten nil-Wert.

4

Wie führt man nur einen bestimmten Test namens TestAdd aus?

5

Was ist ein table-driven Test in Go?

+19 Interview-Fragen

Meistere Go für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten