You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
1.5 KiB

  1. package container
  2. import (
  3. "fmt"
  4. "testing"
  5. )
  6. func TestLogBrokerBuilder_New(t *testing.T) {
  7. methodName := "String"
  8. logBrokerBuilder := NewLogBrokerBuilder("", methodName, "")
  9. if logBrokerBuilder == nil {
  10. t.Fatalf("创建失败!")
  11. }
  12. }
  13. func TestNewLogBrokerBuilder_New_EmptyMethod(t *testing.T) {
  14. defer func() {
  15. if err := recover(); err != "方法名不能为空!" {
  16. t.Fatalf("意外错误:%s", err)
  17. }
  18. }()
  19. methodName := ""
  20. _ = NewLogBrokerBuilder("", methodName, "")
  21. t.Fatalf("意外的没有错误!")
  22. }
  23. func TestNewLogBrokerBuilder_Check(t *testing.T) {
  24. methodName := "String"
  25. method, ok := testServiceType.MethodByName(methodName)
  26. if !ok {
  27. t.Fatalf("意外的没找到方法:%s", methodName)
  28. }
  29. builder := NewLogBrokerBuilder("", methodName, "")
  30. err := builder.Check(method.Type)
  31. if err != nil {
  32. t.Fatalf("意外错误:%s", err.Error())
  33. }
  34. }
  35. func TestNewLogBrokerBuilder_Check_NullMethodType(t *testing.T) {
  36. methodName := "String"
  37. builder := NewLogBrokerBuilder("", methodName, "")
  38. err := builder.Check(nil)
  39. if err == nil {
  40. t.Fatalf("意外的没有错误!")
  41. }
  42. if err.Error() != fmt.Sprintf("方法类型不能为空!") {
  43. t.Fatalf("意外错误:%s", err.Error())
  44. }
  45. }
  46. func TestNewLogBrokerBuilder_Build_NullCaller(t *testing.T) {
  47. methodName := "String"
  48. builder := NewLogBrokerBuilder("", methodName, "")
  49. _, err := builder.Build(nil, nil)
  50. if err == nil {
  51. t.Fatalf("意外的没有错误!")
  52. }
  53. if err.Error() != fmt.Sprintf("调用器不能为空!") {
  54. t.Fatalf("意外错误:%s", err.Error())
  55. }
  56. }