|
|
- package container
-
- import (
- "fmt"
- "reflect"
- "testing"
- )
-
- func TestInstance_GetCaller(t *testing.T) {
-
- var content = "content"
- instance := Instance(reflect.ValueOf(&TestServiceImplement{content}))
- caller, err := instance.GetCaller("String")
- if err != nil {
- t.Fatalf("意外错误:%s", err.Error())
- }
- result := caller([]reflect.Value{})
- if len(result) != 2 {
- t.Fatalf("调用器返回结果数量错误!")
- }
- if result[0].Interface() != content {
- t.Fatalf("调用器返回内容错误!")
- }
- }
-
- func TestInstance_GetCaller_EmptyMethodNameError(t *testing.T) {
-
- _, err := serviceInstance.GetCaller("")
- if err == nil {
- t.Fatalf("意外的没有错误!")
- }
- if err.Error() != fmt.Sprintf("方法名不能为空!") {
- t.Fatalf("意外错误:%s", err.Error())
- }
- }
-
- func TestInstance_GetCaller_MissingMethodError(t *testing.T) {
-
- _, err := serviceInstance.GetCaller("NoMethod")
- if err == nil {
- t.Fatalf("意外的没有错误!")
- }
- if err.Error() != fmt.Sprintf("未找到方法!") {
- t.Fatalf("意外错误:%s", err.Error())
- }
- }
|