marco de prueba pytest (2) --- introducción del accesorio

Tabla de contenido

Uno, la definición de la función de fijación.

En segundo lugar, la llamada a la función de fijación.

Tres, el regreso de la función de fijación.

Cuarto, el uso de conftest.py

Cinco, casos de uso


Uno, la definición de la función de fijación.

Definir una función como un accesorio es muy simple, simplemente agregue "@ pytest.fixture" antes de la declaración de la función, y los parámetros son los siguientes:

     accesorio (alcance = "función", params = Ninguno, autouse = False, ids = Ninguno, nombre = Ninguno)

     alcance : Hay cuatro parámetros de nivel "función" (predeterminado), "clase", "módulo" o "sesión":

         ☆ Se pueden llamar a varios archivos de sesión una vez y se pueden llamar a través de archivos .py

         ☆ El módulo se llama una vez para cada archivo .py

         ☆ la clase se llama una vez para cada clase

         ☆ función Se llamará a cada función o método

     params : una lista de parámetros opcional, el valor predeterminado es Ninguno. Cuando no es None, el dispositivo se llamará y ejecutará una vez para cada valor en params, al igual que ejecutar un bucle for para recorrer el valor en params una vez;

     autouse : cuando el valor predeterminado es False, puede elegir las otras dos formas de llamar al dispositivo. Cuando se establece en Verdadero, todos los casos de prueba en una sesión llamarán automáticamente a este dispositivo;

     ids : Una lista de cada ID de cadena, cada cadena corresponde a parámetros para que formen parte de la ID de prueba. Si no se proporciona una identificación, se generarán automáticamente a partir de los parámetros;

     nombre : el nombre del aparato, que representa el nombre de la función decorada.

 

En segundo lugar, la llamada a la función de fijación.

Una vez definida la función de fijación, si desea llamarla en un caso de prueba, hay tres formas de llamarla:

    ☆ Llamada directa;

    ☆ Use la llamada al dispositivo, agregue "@ pytest.mark.usefixtures (" nombre ")" antes del caso de prueba;

    ☆ Use el parámetro de uso automático del dispositivo para llamar, establezca el parámetro de detección automática en Verdadero y todos los casos de uso de la sesión lo llamarán automáticamente.

 

Tres, el regreso de la función de fijación.

El dispositivo puede devolver un valor, una tupla, una lista o un diccionario.

 

Cuarto, el uso de conftest.py

Si varios casos de uso necesitan llamar a la misma función. Podemos escribir accesorios en el archivo de configuración conftest.py para realizar el intercambio de datos y, al mismo tiempo, facilitar la administración unificada de estas funciones comunes.

      La configuración de conftest.py debe prestar atención a los siguientes puntos:

      ☆ El nombre del script de configuración conftest.py es fijo y no se puede cambiar;

      ☆ conftest.py y el caso de uso en ejecución deben estar en el mismo directorio, y debe haber un archivo __init__.py;

      ☆ No es necesario importar conftest.py, el caso de uso se buscará automáticamente.

 

Cinco, casos de uso

conftest.py y test_fixture.py se colocan en el mismo directorio, y test_fixture.py es el caso de prueba.

    El contenido de conftest.py es el siguiente:

import pytest

@pytest.fixture()
def user():
    print("获取用户名")
    a = "hillwill"
    b = "wxt"
    return (a,b)

     El contenido de test_fixture.py es el siguiente:

import pytest

def test_1(user):
    user1 = user[0]
    print("用户名1:%s" % user1)
    assert user1 == "hillwill"

def test_2(user):
    user2 = user[1]
    print("用户名2:%s" % user2)
    assert user1 == "wxt"

if __name__ == "__main__":

    pytest.main(["-s", "test_fixture.py"])

 

 

 

Supongo que te gusta

Origin blog.csdn.net/wxt_hillwill/article/details/111609285
Recomendado
Clasificación