En mi paquete hay varios archivos de referencia como map1_benchmark_test.go y map2_benchmark_test.go. En cada *_benchmark_test.go archivo, hay más de un parámetro de la función como func BenchmarkMapTravel(b *testing.B) y func BenchmarkMapGet(b *testing.B).

Pregunta es, ¿cómo puedo probar sólo una referencia a la función?

He intentado leer algunos manuales, y no consiguió nada acerca de referencia mediante la ejecución de go help test.

InformationsquelleAutor hardPass | 2013-04-23

3 Comentarios

  1. 53

    Descripción de las pruebas de banderas

    -test.bench pattern
        Run benchmarks matching the regular expression.
        By default, no benchmarks run.
    
    -test.run pattern
        Run only those tests and examples matching the regular
        expression.

    Para su comodidad, cada uno de estos -test.X banderas de la prueba binario es
    también disponible como la bandera -X en ‘ go test » en sí mismo.

    Para ayudar,

    $ go help testflag

    Por ejemplo,

    go test -test.bench MapTravel
    go test -test.bench MapGet

    o

    go test -bench MapTravel
    go test -bench MapGet

    Para la derivación de funciones de prueba, incluyen un -test.run patrón que en los filtros de cada una de las pruebas. Por ejemplo,

    go test -test.bench MapTravel -test.run=thisexpressionwontmatchanytest

    o

    go test -bench MapTravel -run=^$
    • Sólo un punto de referencia, pero se ejecuta otras pruebas mehonds como func TestMapGet(t *testing.T) que no son de referencia correr demasiado. Así que, ¿cómo ejecutar un benchmark sin ningún otro la ejecución de la prueba?
    • Ver a mi revisado respuesta.
    • Tenga en cuenta que usted no necesita el test. prefijo en las banderas, sólo se pueden escribir go test -bench MapGet -run XXX que es un poco menos palabreo para escribir. (A partir de la documentación: para su comodidad, cada uno de estos -test.X banderas de la prueba binario también está disponible como la bandera -X en go test a sí misma).
    • En un nativo de línea de comandos de Windows, ten en cuenta que ^ es un carácter de escape (como \ en otros lugares). Por lo tanto, necesita ser escrito -run=^^$ pero más fácil es -run== (ya que el signo igual no es un regex especial y no forma parte de ningún nombre de la prueba).
  2. 2

    No hay ningún indicador puede proporcionar, que sólo se ejecutará puntos de referencia (o de uno sólo de referencia). El sólo indicadores relacionados con la estos son:

    -banco de regexp
    Ejecutar los puntos de referencia coincidente con la expresión regular.
    Por defecto, no hay puntos de referencia de ejecución. Para ejecutar todos los puntos de referencia,
    el uso de ‘banco .’ o ‘en el banco de=.’.

    -ejecutar regexp
    Ejecutar sólo aquellos pruebas y ejemplos de coincidencia de la regular
    expresión.

    Así que si quieres sólo para ejecutar un benchmark, usted puede hacer esto:

    go test -bench=nameOfYourBenchmark -run=^a

    Esto hará que se ejecute sólo las pruebas que se inicia con a. Y debido a que cada prueba debe ser nombrado Test<something>, no habrá pruebas a ejecutar.

    Para que se ejecute sólo puntos de referencia:

    go test -bench=. -run=^a
  3. 0

    Prueba sólo TestFuncOne

    $>> go test -run TestFuncOne

    stuff_to_test.ir

    TestFuncOne() {
    }
    
    TestFuncTwo() {
    }

Dejar respuesta

Please enter your comment!
Please enter your name here