2013-05-03 14 views

Trả lời

126

này nên chạy tất cả các bài kiểm tra trong thư mục hiện hành và tất cả các thư mục con của nó:

$ go test ./... 

này nên chạy tất cả các bài kiểm tra với đường nhập khẩu bắt đầu bằng foo/:

$ go test foo/... 

này nên chạy tất cả các bài kiểm tra nhập khẩu đường dẫn có tiền tố foo:

$ go test foo... 

Điều này sẽ chạy tất cả các xét nghiệm trong $ GOPATH của bạn:

$ go test ... 
+3

FYI trong zsh, dấu gạch ngang '...' trong ví dụ cuối phải được thoát, IE 'go test \ ...' –

37

From Go 1.9 onwards, sử dụng

go test ./... 

Trong Go 1.6 qua 1.8, các ./... cũng là vendor directory phù hợp. Để bỏ qua các gói vendored, bạn muốn sử dụng

go test $(go list ./... | grep -v /vendor/) 

Nguồn: https://github.com/golang/go/issues/11659, https://github.com/golang/go/issues/14417, https://github.com/go-lang-plugin-org/go-lang-idea-plugin/issues/2366, @ nickgrim của nhận xét.

+1

Dễ như giải pháp này, nó làm cho nó phức tạp hơn nhiều đối với mọi người trên Windows (Tôi không phải nhưng một số đồng đội của tôi là) để chạy điều này. Vẻ đẹp của Go chạy bản địa trên mỗi nền tảng mà không cần một Makefile là tuyệt vời. –

+0

Điểm tốt và là câu trả lời cho vấn đề của tôi – Sion

+2

Giá trị chỉ ra rằng [như của Go 1.9] (https://golang.org/doc/go1.9#vendor-dotdotdot) './...' không còn phù hợp nữa thư mục './vendor /', vì vậy bạn có thể chạy tất cả các bài kiểm tra của bạn và không ai trong số các bài kiểm tra của nhà cung cấp có 'go test./...' – nickgrim