etiqueta de marca
Se utiliza para la ejecución personalizada de casos de uso en pytest, que puede especificar los casos de uso bajo los cuales se ejecutarán las etiquetas.
Nomenclatura de etiquetas
@pytest.mark.ClassA # 定义mark标签
class TestClassA:
@pytest.mark.caseA # 定义mark标签
def test_caseA(self):
print('1')
if __name__ == '__main__':
-m
solo ejecuta los casos de uso en caseA: '-m', 'caseA'
ejecuta los casos de uso en caseA y caseB: '-m', 'caseA o caseB'
solo ejecuta los casos de uso excepto caseA: 'not caseA' se
ejecuta excepto caseA Y el caso de uso bajo caseB: '-m', 'not (caseA o caseB)'
-k Nombre de caso de coincidencia aproximada
Solo se ejecutarán los casos de uso en los que la función coincida con los caracteres de la etiqueta
-v multicapa
Formato: archivo de prueba :: clase de prueba :: método de prueba
Ejemplo: pytest -s -v test_shop.py::TestShop::test_update_shop
Solo se ejecutarán casos de prueba por debajo del nivel especificado
-sq simplifica la impresión de información,
donde -s significa contenido de impresión de salida, -q simplifica la impresión de información
Cuando skip
necesita omitir algunos métodos o clases, debe agregar @ pytest.mark.skip ('omitir motivo') delante de
-rs, se mostrará el motivo de omisión.
Ejemplo: @ pytest.mark.skip ('I don 'no desea ejecutar,
omítalo ') Cuando skipif
necesita omitir ciertos métodos o clases en función de si la condición es verdadera o falsa, agregue @ pytest.mark.skipif (condición, razón = 'omitir razón')
ejemplo: @pytest .mark .skipif (1 == 1, motivo = 'omitir si es cierto')
Además, si se informa el siguiente error cuando se ejecuta
pytest : PytestUnknownMarkWarning: Desconocido pytest.mark. {El nombre de su etiqueta}
Razón: no certificado por el marco pytest
Solución: certificación
Paso 1: Instale el complemento ini
Paso 2: Cree un archivo de configuración pytest.ini debajo del paquete, complete el contenido de la siguiente manera, nombre de la etiqueta: comentario
[pytest]
markers =
mark1: run mark1 case
mark2: run mark2 case