Skip to content

Commit 54d474a

Browse files
committed
fix bug about Reg string
1 parent be430f2 commit 54d474a

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

container.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ func (c *Container) invoke(function interface{}, specifiedParameters map[int]int
298298
var errPtr *error
299299
errType := reflect.TypeOf(errPtr).Elem()
300300
for _, rt := range returns {
301-
if !rt.IsNil() && rt.Type().Implements(errType) { //返回类型中有不为空的error
301+
if rt.Type().Implements(errType) && !rt.IsNil() { //返回类型中有不为空的error
302302
return nil, rt.Interface().(error)
303303
}
304304
returnList = append(returnList, rt.Interface())

container_test.go

+14
Original file line numberDiff line numberDiff line change
@@ -374,3 +374,17 @@ func TestContainer_Clone(t *testing.T) {
374374
assert.True(t, strings.Contains(log, "bar:"))
375375

376376
}
377+
func TestContainer_ResolveString(t *testing.T) {
378+
log = ""
379+
defer Reset()
380+
Register(func() string { return "mock" })
381+
Register(func(s string) Foobarer { return &Foobar{msg: s} })
382+
Register(func() Fooer { return &Foo{} })
383+
Register(func() Barer { return &Bar{} })
384+
var fb Foobarer
385+
err := Resolve(&fb)
386+
assert.Nil(t, err)
387+
fb.Say(123, "Hello World")
388+
t.Log(log)
389+
assert.True(t, strings.Contains(log, "mock"))
390+
}

0 commit comments

Comments
 (0)