Дразнить внутреннюю функцию для тестирования в го - PullRequest
1 голос
/ 10 мая 2019

Скажем, у меня есть 2 функции func GetCar() и func PrintFormat().По понятным причинам PrintFormat не является частью интерфейса.

Обе функции связаны с car struct{} через функциональные приемники.

Как я могу проверить GetCar, если у меня есть зависимость от func PrintFormat().

Можно ли смоделировать func PrintFormat() для вывода произвольного значения во время тестов, с которыми я могу работать?

type Car interface {
   GetCar(id string)  
}

type car struct {
   name string
   data data 
   printFormat string
}

func (c *car) GetCar(id string) {
   info := c.printFormat(id)
   fmt.Println(info)
}

func (c *car) printFormat(id string) {
   return DoSomething(id, c.printFormat)
}
...