2014-06-26 9 views
7

Jak używać opcji flag dla testów porównawczych ze strukturą testową gocheck? W podanym przeze mnie linku wydaje się, że jedynym dostarczanym przez niego przykładem jest uruchamianie go test -check.b, jednak nie zawierają one dodatkowych komentarzy na temat sposobu działania, więc trudno jest go użyć. Nie mogłem nawet znaleźć potwierdzenia w dokumentacji go, kiedy zrobiłem go help test, ani kiedy zrobiłem go help testflag. W szczególności chcę wiedzieć, jak korzystać z benchmarku ram badań i lepiej kontrolować, jak długo to trwa i dla ilu powtórzeń to trwa itp itd. Na przykład w przykładzie zapewniają one:W jaki sposób używasz flag testu porównawczego dla platformy testowej go (golang) gocheck?

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

Istnieje zmienna cN Jak określić tę zmienną? Czy to przez sam program, czy to przez test go i jego flagi lub linię poleceń?

Na marginesie, dokumentacja z go help testflag rozmawialiśmy o -bench regex, benchmem i benchtime t opcje, jednak nie mówi o opcji -check.b. Próbowałem jednak uruchomić te opcje zgodnie z opisem, ale tak naprawdę nie zrobiłem niczego, co mogłem zauważyć. Czy gocheck działa z oryginalnymi opcjami dla go test?

Głównym problemem, który widzę jest to, że nie ma jasnej dokumentacji, jak korzystać z narzędzia gocheck lub jego poleceń. I przypadkowo dał mu złą flagę i rzucił mi się komunikat o błędzie sugerując przydatnych poleceń, które trzeba (co ograniczony opis):

-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 

pisze źle nakazuje jedynym sposobem uzyskania pomocy z tego narzędzia? nie ma flagi pomocy czy coś takiego?

Odpowiedz

3

zobaczyć Description_of_testing_flags:

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

-check.b działa w ten sam sposób jak -test.bench.

E.g. uruchomić wszystkie punkty odniesienia:

go test -check.b=. 

uruchomić konkretną wartość odniesienia:

go test -check.b=BenchmarkLogic 

więcej informacji na temat testów w Go można znaleźć here

+0

Należy zmodyfikować '' 'przejść testy -check.b = .'' z '' go testem --check.b''' lub '' 'go testem - gocheck.b''' – hoenir