Junior — Middle
Welche Bibliotheken haben Sie verwendet, um Mock-Objekte in Tests zu erstellen?
sobes.tech KI
Antwort von AI
In Go werden zum Erstellen von Mock-Objekten in Tests häufig die folgenden Bibliotheken verwendet:
- gomock — offizielle Bibliothek von Google, ermöglicht das Generieren von Mocks basierend auf Schnittstellen mit dem Tool mockgen.
- testify/mock — Teil des beliebten Pakets testify, bietet eine bequeme Möglichkeit, Mocks zu erstellen, Erwartungen zu setzen und Aufrufe zu überprüfen.
Beispiel für die Verwendung von testify/mock:
import (
"testing"
"github.com/stretchr/testify/mock"
)
type MyInterface interface {
DoSomething(int) string
}
type MyMock struct {
mock.Mock
}
func (m *MyMock) DoSomething(i int) string {
args := m.Called(i)
return args.String(0)
}
func TestMyFunction(t *testing.T) {
m := new(MyMock)
m.On("DoSomething", 123).Return("result")
res := m.DoSomething(123)
if res != "result" {
t.Errorf("Unerwartetes Ergebnis: %s", res)
}
m.AssertExpectations(t)
}
Diese Bibliotheken helfen dabei, den getesteten Code von externen Abhängigkeiten zu isolieren und die Interaktionen mit ihnen zu überprüfen.