Skip to main content

Test


Test

go test [<flag>] [<pathPattern>]
  • <flag>
    • -v: Verbose
    • -coverprofile <file>: 커버리지 프로파일을 텍스트 파일로 저장합니다.
  • <pathPattern>
    • ./...: 현재 디렉토리의 모든 하위 디렉토리를 포함합니다.

Testify

go get -u github.com/stretchr/testify
package somepackage_test

import (
"testing"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"somepackage"
)

Table Driven Tests

func TestAddOne(t *testing.T) {
cases := []struct {
in int
want int
}{
{1, 2},
{2, 3},
{3, 4},
}

for _, c := range cases {
got := c.in + 1
assert.Equal(t, got, c.want)
}
}

Setup and Teardown

func TestMain(m *testing.M) {
// setup
code := m.Run()
// teardown
os.Exit(code)
}