Uso de Pytest, inicio rápido y explicación básica

  • Actualmente hay dos marcos de prueba de prueba pura, pytest y unittest
  • unittest debe ser ampliamente conocido, y también es un marco antiguo.Mucha gente lo usa para la automatización, ya sea UI o interfaz
  • pytest es otro marco de prueba de unidad más avanzado y útil desarrollado en base a unittest

Por qué usar Pytest

Según la web oficial de pytest, tiene las siguientes características:

  1. Muy fácil de usar, fácil de comenzar, rico en documentación y hay muchos ejemplos en la documentación como referencia.
  2. Capaz de admitir pruebas unitarias simples y pruebas funcionales complejas
  3. Parametrización de soporte
  4. Durante la ejecución de la prueba, algunas pruebas se pueden omitir (skip), o algunos casos de falla esperados se pueden marcar como falla
  5. Admite caso de falla de ejecución repetida (reejecución)
  6. Admite la ejecución de casos de prueba escritos por nose, unittest
  7. Puede generar un informe html
  8. Herramienta de integración conveniente y continua integración jenkins
  9. Se pueden admitir algunos casos de uso
  10. Tiene muchos complementos de terceros y se puede personalizar

instalar pytest

cmd ejecutar


pip install -U pytest

pip3 install pytest -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

ver versión

pytest --version

el código

def func(x):
    return x + 1


def test_answer():
    assert func(3) == 5


class TestClass:
    def test_one(self):
        x = "this"
        assert "h" in x

    def test_two(self):
        x = "hello"
        assert hasattr(x, "check")

puntos de conocimiento

  • Si solo se ejecuta pytest, buscará los archivos test_*.py o *_test.py en el directorio actual y sus subdirectorios. Después de encontrar el archivo, busque la función que comienza con test en el archivo y ejecútela.
  • Si sólo desea ejecutar un determinado archivo, puede 
    • pytest start.py 
  • Agregue -q para mostrar resultados simples:
    • pytest -q start.py 

Principios de diseño de los casos de uso de Pytest

Al escribir casos de prueba con Pytest, asegúrese de seguir las reglas a continuación; de lo contrario, no se ejecutarán los casos de prueba que no cumplan con las reglas.

  • Los nombres de archivo comienzan con archivos test_*.py y *_test.py
  • funciones que comienzan con test_
  • Las clases que comienzan con Test no pueden contener métodos __init__
  • Métodos en clases que comienzan con test_
  • Todos los paquetes de paquetes deben tener el archivo __init__.py

 Pytest ejecuta reglas de casos de uso

Tenga en cuenta que lo siguiente se trata de ejecutar comandos pytest en cmd

1. Todos los casos de uso en un determinado directorio


pytest

2. Ejecute el caso de uso bajo un determinado archivo py 

pytest 脚本名称.py

3. Ejecute una función en el módulo start.py, o una clase, o un método en una clase

Puede agregar v o no agregar -v, si agrega -v, la información impresa será más detallada

pytest -v 08_mark.py::TestClass::test_method

pytest 08_mark.py::TestClass::test_method

pytest start.py::test_answer

4. Ejecute el módulo start.py para probar un método en la clase

pytest start.py::TestClass::test_two

5. Expresión de marca -m (siguiente explicación)

 pytest -m login

ejecutará todas las pruebas decoradas con el decorador @pytest.mark.login, y ampliaremos el marcado más adelante

6. -q impresión simple, solo imprime el resultado de ejecución del caso de prueba

 pytest -q start.py

7. -s imprimir en detalle

pytest -s start.py

8. -x Detiene la prueba cuando se encuentra un error

pytest start.py -x

9. --maxfail=num, cuando el número de errores de casos de uso alcance el número especificado, detenga la prueba

pytest start.py --maxfail=1

10. -k coincide con el nombre del caso de uso

Ejecutar todos los casos de prueba cuyo nombre de caso de prueba contenga http

pytest -s -k http start.py

11. -k Excluye ciertos casos de uso según el nombre del caso de uso

pytest -s -k "not http" start.py

12. -k coincide con diferentes nombres de casos de uso al mismo tiempo

pytest -s -k "method or weibo" start.py

Pycharm ejecuta Pytest

Por lo general, escribimos código en Pycharm, ¿cómo podemos usar cmd para ejecutar los casos de uso todo el tiempo? Ahora veamos cómo ejecutar Pytest en Pycharm.

  1. En primer lugar, primero vamos a la configuración para configurar el marco de prueba unitaria como Pytest
  2. Si se trata de pruebas de nariz, hacer clic con el botón derecho para ejecutar se ejecuta mediante un script de python
  3. Si se establece unittest, se ejecutará con el marco unittest

Supongo que te gusta

Origin blog.csdn.net/qq_41663420/article/details/129796964
Recomendado
Clasificación