-
Notifications
You must be signed in to change notification settings - Fork 0
/
interface.go
72 lines (53 loc) · 1.28 KB
/
interface.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package fixture
import (
"fmt"
di "github.com/1-bi/fire-di"
"github.com/1-bi/fire-di/test/mockobject"
"github.com/1-bi/fire-di/test/modules"
"github.com/1-bi/log-api"
"github.com/smartystreets/gunit"
"log"
)
type InterfaceFixTure struct {
*gunit.Fixture
logger logapi.Logger
}
// Setup
func (myself *InterfaceFixTure) Setup() {
myself.logger = logapi.GetLogger("main")
/* // ----- register module pre defined ----
// ----- create injector for modules
injector, err := di.CreateInjector(bs)
// ----- create injector ----
if err != nil {
log.Fatal(err)
} else {
injector.Execute(myself.invokerFun)
}
*/
fmt.Println("----")
}
func (myself *InterfaceFixTure) Teardown() {
}
func (myself *InterfaceFixTure) TestCase1() {
diConf := new(di.Configuration)
/**
* custom di config
*/
di.Config(diConf)
mod := new(modules.InterfaceModule)
bs := di.RegisterModules(mod)
// ----- create injector for modules
injector, err := di.CreateInjector(bs)
// ----- create injector ----
if err != nil {
log.Fatal(err)
} else {
injector.Execute(myself.invokerFun)
}
}
// --- test intereface mesage
func (myself *InterfaceFixTure) invokerFun(sayHello mockobject.SayHelloI) {
myself.logger.Info("call say hello function ", nil)
sayHello.SayHello(" myname is who. ")
}