Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package testutils
- import (
- "encoding/json"
- "fmt"
- "io/ioutil"
- "path"
- "path/filepath"
- "runtime"
- "testing"
- )
- // GetInputJSON ... テストのためのFixtureをJSONで取得するためのヘルパー
- func GetInputJSON(t *testing.T, dst interface{}) {
- t.Helper()
- _, pwd, _, _ := runtime.Caller(0)
- input := filepath.Join(path.Dir(pwd), "..", "..", "testdata", fmt.Sprintf("%s.input", t.Name()))
- i, err := ioutil.ReadFile(input)
- if err != nil {
- t.Fatalf("failed reading .input: %s", err)
- }
- if err := json.Unmarshal(i, dst); err != nil {
- t.Errorf("failed to parse input file: %s, err: %v", input, err)
- return
- }
- }
- // GetGoldenJSON ... テスト結果をJSONで取得するためのヘルパー
- func GetGoldenJSON(t *testing.T, dst interface{}) {
- t.Helper()
- _, pwd, _, _ := runtime.Caller(0)
- golden := filepath.Join(path.Dir(pwd), "..", "..", "testdata", fmt.Sprintf("%s.golden", t.Name()))
- g, err := ioutil.ReadFile(golden)
- if err != nil {
- t.Fatalf("failed reading .golden: %s", err)
- }
- if err := json.Unmarshal(g, dst); err != nil {
- t.Errorf("failed to parse golden file: %s, err: %v", golden, err)
- return
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement