-
Notifications
You must be signed in to change notification settings - Fork 50
0x04. Go Testing
Tran Phong Phu edited this page Apr 15, 2019
·
5 revisions
Bạn nên gõ go test -h
để biết chúng có những gì. Tuy đọc hơi mệt, nhưng cái này là chính xác nhất mô tả những gì mà câu lệnh go test
có.
$ go test -h
Bạn nên nhớ:
testing
của Go bao gồm Unit Testing và Benchmark, từ đó bạn có thể tham khảo thêm các vấn đề có liên quan.
$ go test ./...
$ go test./... -v
-v
là viết tắt của từ verbose, thường được dùng cho hầu hết các phần mềm ở dạng command line.
$ cd week1-exercise
$ go test -v -cover -run ^TestFind1$ ./...
Output
? _/home/phutp/noodle/golang-training/week1-exercise [no test files]
=== RUN TestFind1
--- PASS: TestFind1 (0.00s)
PASS
coverage: 9.1% of statements
ok _/home/phutp/noodle/golang-training/week1-exercise/helper 0.002s coverage: 9.1% of statements
Chú ý: Hểu về code coverage như thế nào lại là một item khác. Sẽ được bàn sau.
Giải thích thêm:
-
-cover
là show thông số về coverage của cái test, phần trăm càng cao càng tốt. -
-run
là phải viết dạng regular expression:^
là dành cho ký tự bắt dầu,$
là kýt tự kết thúc. -
./...
test toàn bộ folder
- Ưu điểm: Rất dễ sử dụng, và giao diện thân thiện, có tính năng watch và play/refresh
- Nhược điểm: Không thấy test lại chỉ một tính năng. Tuy nhiên điều này là không cần thiết và cũng không đúng về tư duy.
$ go get github.com/smartystreets/goconvey
$ $GOPATH/bin/goconvey
ⓒ 2019 Phú, Trần Phong & NordicCoder