Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. package testutils
  2.  
  3. import (
  4. "encoding/json"
  5. "fmt"
  6. "io/ioutil"
  7. "path"
  8. "path/filepath"
  9. "runtime"
  10. "testing"
  11. )
  12.  
  13. // GetInputJSON ... テストのためのFixtureをJSONで取得するためのヘルパー
  14. func GetInputJSON(t *testing.T, dst interface{}) {
  15. t.Helper()
  16. _, pwd, _, _ := runtime.Caller(0)
  17. input := filepath.Join(path.Dir(pwd), "..", "..", "testdata", fmt.Sprintf("%s.input", t.Name()))
  18. i, err := ioutil.ReadFile(input)
  19. if err != nil {
  20. t.Fatalf("failed reading .input: %s", err)
  21. }
  22.  
  23. if err := json.Unmarshal(i, dst); err != nil {
  24. t.Errorf("failed to parse input file: %s, err: %v", input, err)
  25. return
  26. }
  27. }
  28.  
  29. // GetGoldenJSON ... テスト結果をJSONで取得するためのヘルパー
  30. func GetGoldenJSON(t *testing.T, dst interface{}) {
  31. t.Helper()
  32. _, pwd, _, _ := runtime.Caller(0)
  33. golden := filepath.Join(path.Dir(pwd), "..", "..", "testdata", fmt.Sprintf("%s.golden", t.Name()))
  34. g, err := ioutil.ReadFile(golden)
  35. if err != nil {
  36. t.Fatalf("failed reading .golden: %s", err)
  37. }
  38.  
  39. if err := json.Unmarshal(g, dst); err != nil {
  40. t.Errorf("failed to parse golden file: %s, err: %v", golden, err)
  41. return
  42. }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement