mock_env_test.go 944 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package mock_env
  2. import (
  3. "testing"
  4. )
  5. type tester struct {
  6. t *testing.T
  7. me *МокОкружение
  8. }
  9. func TestMockEnv(t *testing.T) {
  10. sf := &tester{
  11. t: t,
  12. }
  13. sf.make()
  14. sf.reset()
  15. }
  16. // Сброс переменной окружения
  17. func (sf *tester) reset() {
  18. sf.t.Log("reset")
  19. sf.resetBad1()
  20. pwd := sf.me.Pwd()
  21. if pwd == "" {
  22. sf.t.Fatalf("reset(): pwd i empty")
  23. }
  24. }
  25. // Нет переменой окружения
  26. func (sf *tester) resetBad1() {
  27. sf.t.Log("resetBad1")
  28. defer func() {
  29. if panic_ := recover(); panic_ == nil {
  30. sf.t.Fatalf("resetBad1(): panic=%v", panic_)
  31. }
  32. }()
  33. sf.me.Reset("")
  34. }
  35. // Создание мок-окружения
  36. func (sf *tester) make() {
  37. sf.t.Log("make")
  38. defer func() {
  39. if panic_ := recover(); panic_ != nil {
  40. sf.t.Fatalf("make(): panic=%v", panic_)
  41. }
  42. }()
  43. env := СделатьОкружение()
  44. if env == nil {
  45. sf.t.Fatalf("make(): env==nil")
  46. }
  47. sf.me = env
  48. }