Kaptain.
Telegram /
LinkedIn /
Email /
GIT /
RSS /
GPG /
Заказ печатных плат

№ 11006 В разделе
Programming
от May 26th, 2020,
В подшивках: Go
Чтобы без проблем тестировать программы, написанные с использованием вашей библиотеки ее необходимо подготовить для этого. Делаем интерфейс, который будет использоваться в тестах, где ваши реальные функции будут заменены функциями с тестовыми данными.
package main
import "fmt"
// library
type FooAdapter interface {
Read() string
}
type Foo struct {
mvar string
}
func NewFoo(v string) FooAdapter {
return &Foo{mvar:v}
}
func (a *Foo) Read() string {
return "orig: " + a.mvar
}
// test
func NewFooStub(v string) FooAdapter {
return &FooStub{mvar: v}
}
type FooStub struct {
mvar string
}
func (s *FooStub) Read() string {
return "stub: " + s.mvar
}
func main() {
z := NewFoo("o")
fmt.Println("Read", z.Read())
m := NewFooStub("s")
fmt.Println("Read", m.Read())
}
https://play.golang.org/p/9utaWeDjNjo
Fortune cookie: Fortune understands that the vote on a bill to legalize bisexuality could go either way.
Leave a Reply