PYtest Característico de la función pre y post

, Accesorio de A (Traducción: Fix aquí) de conftest.py: archivo (Traducción de ConocoPhillips Teste)

  • Al definir accesorio, necesario introducir PYtest importación
  • Definir un accesorio común: pre + post, una pluralidad de clases de prueba puede ser llamado
  • PYtest archivo proporcionado conftest.py puede aparato: pre + post, se define en este documento
  • Cuando se ejecuta la prueba, no es necesario importar este archivo, se pasará automáticamente a encontrar conftest.py (Traducción: ConocoPhillips Teste) el archivo, a continuación, ir a buscar a los correspondientes
  • Compartir archivos: nombre del archivo conftest.py no se pueden cambiar, porque, sin necesidad de introducir accesorio que se puede utilizar

En segundo lugar, crear el archivo conftest.py que define el delantero y trasero

  La función de dispositivo de palabra clave de rendimiento como la línea divisoria delantera y trasera, y el rendimiento también puede recibir tuplas devueltas valor de retorno, actúa como retorno

  producir (traducción: UTE): línea que divide, resultado de retorno frente

Copiar el código
PYtest importación 

@ pytest.fixture () 
DEF init_demo (): 
    impresión ( "Es la pre-test") 
    A. 1 = 
    la línea de separación rendimiento # A (rendimiento + valor de retorno) 
    de impresión ( "Es la post-test". )
Copiar el código

En tercer lugar, llamar a la luminaria

1. Las llamadas directas en caso de prueba

  El nombre de la función accesorios como los parámetros de casos de prueba

  Si el aparato tiene un valor de retorno, el nombre de función de prueba fijo en la recepción del valor de retorno, el nombre de la función y el aparato se puede utilizar como valor de retorno

def test_add_01 (init_demo): 
    b = init_demo + 2 
    aserción 3 == b

  El resultado:

2. Llama a la luminaria con el decorador accesorio

  En frente de la clase de prueba / ensayo más @ pytest.mark.usefixtures ( 'accesorio nombre de función')

  ps: definiciones de archivo conftest.py, en este archivo se pueden definir múltiples accesorio, PYtest buscará automáticamente el archivo

Copiar el código
importación PYtest 


@ pytest.mark.usefixtures ( 'init_demo') 
def test_add_02 (): 
    b = 1 + 2 
    aserción 3 == b
Copiar el código

  El resultado:

3. pide autouse accesorio

  • Al definir accesorio, hay un parámetro autouse, la configuración predeterminada en False
  • Cuando el valor predeterminado es Falso, puede ser seleccionado mediante el uso de las dos formas anteriores accesorio
  • Cuando se establece en Ture, en toda la prueba llamará automáticamente una sesión de la fijación, se recomienda que el interruptor debe utilizar con precaución

  conftest código es el siguiente:

Copiar el código
PYtest importación 

@ pytest.fixture (autouse = Ture) 
DEF init_demo (): 
    impresión ( "Es la pre-test") 
    el rendimiento 
    de impresión ( "Fue el post-test")
Copiar el código

  Código de ensayo es el siguiente:

importar PYtest 


def test_add_02 (): 
    b = 1 + 2 
    aserción 3 == b

  El resultado:

Cuatro, herencia accesorio (la parte delantera de la parte delantera, trasera, la parte trasera)

  • Alcance (palabra clave alcance): función / nivel de función (caso de prueba), la clase / clase de nivel (clase de prueba), módulo de E / nivel de módulo (módulo de prueba archivos -py), sesión / nivel de sesión (ejecución de la prueba durante toda la sesión)
  • Metáfora: Galleta
  • Las enfermedades hereditarias: Alcance Alcance heredadas del interior hacia fuera, también puede heredar el mismo nivel de alcance
  • Orden de ejecución: pre-ejecuta desde el exterior a la capa interior, la capa interior a la exterior posterior ejecutado, realice el ámbito de aplicación de la capa más interna, una capa en la realización de su ámbito de aplicación, no pudo encontrar una hacia fuera hasta hasta que el dominio
  • métodos heredados: directamente al nombre de la función como un accesorio heredado se pueden pasar al Senado
  • Devuelve: hereda la clase padre, sino también heredaron el valor de retorno de la clase padre

  conftest.py código es el siguiente:

Copiar el código
PYtest importación 


@ pytest.fixture (scope = 'la sesión') 
init_session DEF (): 
    Imprimir ( "es una sesión de pre-test") 
    el rendimiento 
    de impresión ( "Es la sesión de post-test") 


@ pytest.fixture (scope = 'Module1') 
DEF la init_module (init_session): 
    Imprimir ( "es un módulo de pre-test") 
    el rendimiento 
    de impresión ( "es un módulo de post-test") 


@ pytest.fixture (scope = 'clase') 
DEF init_class (la init_module ): 
    Imprimir ( "es una clase de pre-test") 
    el rendimiento 
    de impresión ( "es una clase de prueba post") 


@ # pytest.fixture pytest.fixture corresponde @ (scope = 'función') 
DEF init_function (init_class) : 
    Imprimir ( "este es un caso de prueba de la parte delantera") 
    rendimiento 
    de impresión ( "este es el caso post-test")
Copiar el código

  Código de ensayo es el siguiente:

Copiar el código
PYtest importación 


@ pytest.mark.usefixtures ( 'init_function') 
def test_demo (): 
    print ( '测试用例') 
    afirman 3 == 3
Copiar el código

  El resultado:

 Cinco niveles de alcance

Uso accesorio de la orden - el cual subdirectorios, también puede tener su propio conftest

  • En primer lugar con su propia, y luego ir conftest.py en el mismo directorio y luego ir al siguiente nivel de directorio en conftest.py

 

Supongo que te gusta

Origin www.cnblogs.com/wuzm/p/12591680.html
Recomendado
Clasificación