Интерфейсы - это наиболее часто используемые Go функции, которые помогают при тестировании. Интерфейс в Go допускает Duck Typing, где вы можете переключить любой тип, в котором реализован интерфейс, который должен быть смоделирован другим типом.
В вашем примере у службы есть два следующих метода: GetName () и GetAddress (). Создайте интерфейс службы с помощью этих двух методов.
type Service Interface {
GetName() string
GetAddress() string
}
Теперь ваша структура EmpInfo уже реализует интерфейс службы. Создайте новую структуру MockService с теми же двумя функциями.
type MockService struct {}
func (ms *MockService) GetName() string {
// Mock Code
}
func (ms *MockService) GetAddress() string {
// Mock Code
}
Затем замените экземпляры EmpInfo на MockService там, где вам нужно.
PS: рассмотрите возможность добавления функций GetName и GetAddress с указателем на EmpInfo.