2014-06-26 31 views
7

Làm cách nào để sử dụng tùy chọn cờ cho điểm chuẩn với khung kiểm tra gocheck? Trong liên kết mà tôi đã cung cấp, dường như ví dụ duy nhất mà chúng cung cấp là bằng cách chạy go test -check.b, tuy nhiên, chúng không cung cấp thêm nhận xét về cách hoạt động của nó nên khó sử dụng nó. Tôi thậm chí không thể tìm thấy dấu kiểm trong tài liệu đi khi tôi đã làm go help test cũng như khi tôi đã làm go help testflag. Đặc biệt tôi muốn biết làm thế nào để sử dụng khuôn khổ thử nghiệm benchmark tốt hơn và kiểm soát bao lâu nó chạy cho hoặc cho bao nhiêu lần lặp nó chạy cho vv vv Ví dụ trong ví dụ mà họ cung cấp:Làm thế nào để bạn sử dụng cờ chuẩn cho go go (golang) gocheck testing framework?

func (s *MySuite) BenchmarkLogic(c *C) { 
    for i := 0; i < c.N; i++ { 
     // Logic to benchmark 
    } 
} 

Có là biến cN Làm cách nào để chỉ định biến đó? Là nó thông qua chương trình thực tế chính nó hoặc là nó thông qua kiểm tra đi và cờ của nó hoặc dòng lệnh?

Trên mặt lưu ý, tài liệu từ go help testflag đã nói về -bench regex, benchmembenchtime t lựa chọn, tuy nhiên, nó không nói về các tùy chọn -check.b. Tuy nhiên tôi đã cố gắng chạy các tùy chọn này như mô tả ở đó nhưng nó không thực sự làm bất cứ điều gì tôi có thể nhận thấy. Việc kiểm tra có hoạt động với các tùy chọn ban đầu cho go test không?

Vấn đề chính tôi thấy là không có tài liệu rõ ràng về cách sử dụng công cụ gocheck hoặc các lệnh của nó. Tôi vô tình đưa nó một lá cờ sai lầm và nó ném cho tôi một thông báo lỗi cho thấy các lệnh hữu ích mà tôi cần (mà mô tả hạn chế):

-check.b=false: Run benchmarks 
    -check.btime=1s: approximate run time for each benchmark 
    -check.f="": Regular expression selecting which tests and/or suites to run 
    -check.list=false: List the names of all tests that will be run 
    -check.v=false: Verbose mode 
    -check.vv=false: Super verbose mode (disables output caching) 
    -check.work=false: Display and do not remove the test working directory 
    -gocheck.b=false: Run benchmarks 
    -gocheck.btime=1s: approximate run time for each benchmark 
    -gocheck.f="": Regular expression selecting which tests and/or suites to run 
    -gocheck.list=false: List the names of all tests that will be run 
    -gocheck.v=false: Verbose mode 
    -gocheck.vv=false: Super verbose mode (disables output caching) 
    -gocheck.work=false: Display and do not remove the test working directory 
    -test.bench="": regular expression to select benchmarks to run 
    -test.benchmem=false: print memory allocations for benchmarks 
    -test.benchtime=1s: approximate run time for each benchmark 
    -test.blockprofile="": write a goroutine blocking profile to the named file after execution 
    -test.blockprofilerate=1: if >= 0, calls runtime.SetBlockProfileRate() 
    -test.coverprofile="": write a coverage profile to the named file after execution 
    -test.cpu="": comma-separated list of number of CPUs to use for each test 
    -test.cpuprofile="": write a cpu profile to the named file during execution 
    -test.memprofile="": write a memory profile to the named file after execution 
    -test.memprofilerate=0: if >=0, sets runtime.MemProfileRate 
    -test.outputdir="": directory in which to write profiles 
    -test.parallel=1: maximum test parallelism 
    -test.run="": regular expression to select tests and examples to run 
    -test.short=false: run smaller test suite to save time 
    -test.timeout=0: if positive, sets an aggregate time limit for all tests 
    -test.v=false: verbose: print additional output 

đang viết sai lệnh cách duy nhất để có được một số giúp đỡ với công cụ này? nó không có cờ trợ giúp hay gì đó?

Trả lời

3

các Description_of_testing_flags xem:

-bench regexp 
    Run benchmarks matching the regular expression. 
    By default, no benchmarks run. To run all benchmarks, 
    use '-bench .' or '-bench=.'. 

-check.b hoạt động theo cách tương tự như -test.bench.

Ví dụ: để chạy tất cả các tiêu chuẩn:

go test -check.b=. 

để chạy một chuẩn mực cụ thể:

go test -check.b=BenchmarkLogic 
hơn

thông tin về thử nghiệm tại Gò thể được tìm thấy here

+0

hãy sửa đổi '' 'đi kiểm tra -check.b = .''' với '' 'go test --check.b''' hoặc' '' go test --gocheck.b''' – hoenir

Các vấn đề liên quan