Преобразование золотых и входных файлов в тестовой таблице - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь найти способ создать тестовую таблицу из золотых и входных файлов.

У меня следующая структура каталогов:

pkg
|
| mypackage/
  | testdata/
    | file1.input
    | file1.golden
    | file2.input
    | file2.golden
  | mypackage_test.go
  | ...

Я пытаюсь найти эффективный способ создания тестовой таблицы из пары входных и золотых файлов:

type test struct {
   input,
   expected string
}

func getFiles() test {
  input, _ := ioutil.ReadFile(filepath.Join("testdata", fmt.Sprintf("%s.%s", filename, "input")))
  expected, := ioutil.ReadFile(filepath.Join("testdata", fmt.Sprintf("%s.%s", filename, "golden")))
  return {string(input), string(expected)}
}

func getTable() []test {
  return []test{getFiles("file1"), getFiles("file2"), getFiles("file3")}
}

func TestInputs(t *testing.T) {
  table := getTable()
  for _, tt := range table {
    // perform the test
  }
}

Я на самом деле не лучший в написании тестов, и приведенный выше код кажется немного хакерским. Есть ли лучший способ сделать то, что я пытаюсь?

...