1 回答

TA貢獻1820條經驗 獲得超9個贊
$ go help packages許多命令適用于一組包:
go action [packages]通常,[packages] 是一個導入路徑列表。
導入路徑是根路徑或以 . 或 .. 元素被解釋為文件系統路徑并表示該目錄中的包。
否則,導入路徑 P 表示在目錄 DIR/src/P 中找到的包,用于 GOPATH 環境變量中列出的某些 DIR(有關更多詳細信息,請參見:'go help gopath')。
如果沒有給出導入路徑,則該操作適用于當前目錄中的包。
作為一種特殊情況,如果包列表是來自單個目錄的 .go 文件列表,則該命令將應用于由這些文件組成的單個綜合包,忽略這些文件中的任何構建約束并忽略中的任何其他文件目錄。
列出測試中使用的當前目錄下的所有文件:
go test sum_test.go sum.go
或者簡單地測試當前目錄中的完整包。
go test
例如,
$ go test -v sum_test.go sum.go
=== RUN TestSumInt8
--- PASS: TestSumInt8 (0.00s)
PASS
ok command-line-arguments 0.002s
$
或者,對于完整的包
$ go test -v
=== RUN TestSumInt8
--- PASS: TestSumInt8 (0.00s)
PASS
ok so/sum 0.002s
$
選項“-v”產生詳細的輸出。
sum_test.go:
package sum
import "testing"
// Check https://golang.org/ref/spec#Numeric_types and stress the limits!
var sum_tests_int8 = []struct {
n1 int8
n2 int8
expected int8
}{
{1, 2, 3},
{4, 5, 9},
{120, 1, 121},
}
func TestSumInt8(t *testing.T) {
for _, v := range sum_tests_int8 {
if val := SumInt8(v.n1, v.n2); val != v.expected {
t.Errorf("Sum(%d, %d) returned %d, expected %d",
v.n1, v.n2, val, v.expected)
}
}
}
sum.go:
package sum
func SumInt8(a, b int8) int8 {
return a + b
}
func SumFloat64(a, b float64) float64 {
return a + b
}
- 1 回答
- 0 關注
- 254 瀏覽
添加回答
舉報