Articles of pytest

Pytest: ¿cómo mostrar el informe generado después de la ejecución de la prueba?

Estoy usando pytest en combinación con el complemento pytest-html que genera un informe HTML después de que se haya ejecutado la prueba. Estoy utilizando un dispositivo de sesión con conexión automática para abrir automáticamente el informe HTML generado en un navegador: @pytest.fixture(scope=”session”, autouse=True) def session_wrapper(request): print(‘Session wrapper init…’) yield # open report in browser on […]

pasando un dispositivo py.test entre archivos de prueba en un módulo

Tengo un dispositivo común py.test que quiero usar de forma genérica en diferentes archivos de prueba dentro del mismo módulo. Después de leer la documentación de py.test, la sugerencia fue agregar el accesorio a un archivo conftest.py que debería hacer que el accesorio esté disponible para todos los archivos en el módulo. Pero por alguna […]

Comprobación de tipos de enumeración válidos de protobufs

En mi archivo protobuf llamado skill.proto, tengo: message Cooking { enum VegeType { CAULIFLOWER = 0; CUCUMBER = 1; TOMATO = 2 } required VegeType type = 1; } En otro archivo (por ejemplo, nombre.py) quiero verificar que la enumeración dentro del archivo sea un tipo válido #if (myCookingStyle.type != skill_pb2.Cooking.VegeTypes): print “Error: invalid cooking […]

escribiendo una función pytest para verificar la salida a un archivo en python?

Hice esta pregunta sobre cómo escribir un pytest para verificar la salida en la salida estándar y obtuve una solución. Ahora necesito escribir un test case , para verificar si los contenidos están escritos en el archivo y que los contenidos están escritos como se espera, por ejemplo: def writetoafile(): file = open(“output.txt”,w) file.write(“hello\n”) file.write(“world\n”) […]

Cómo parametrizar un accesorio Pytest

Considere el siguiente Pytest: import pytest class TimeLine(object): instances = [0, 1, 2] @pytest.fixture def timeline(): return TimeLine() def test_timeline(timeline): for instance in timeline.instances: assert instance % 2 == 0 if __name__ == “__main__”: pytest.main([__file__]) La prueba test_timeline utiliza un dispositivo Pytest, la timeline , que a su vez tiene las instances atributos. Este atributo […]

¿Por qué se usaría una fábrica pytest como accesorio sobre una función de fábrica?

En los documentos de py.test , describe la statement de métodos de fábrica como accesorios, like-so: @pytest.fixture def make_foo(): def __make_foo(name): foo = Foo() foo.name = name return foo return __make_foo ¿Cuáles son los beneficios / compensaciones de hacer esto sobre la definición de una función make_foo y su uso? No entiendo por qué es […]

Saltar pytest a menos que haya un parámetro presente

Quiero usar unittest.skiptest pero solo omitir una prueba si se da un parámetro en la línea de comando. Esto me permite hacer pruebas de integración más fáciles. ¿Cómo puedo hacer esto?

Pytest 2.3 añadiendo desgarros dentro de la clase

Estoy investigando la nueva versión de pytest (2.3) y estoy muy entusiasmado con la nueva funcionalidad en la que “puede controlar con precisión el desassembly registrando una o varias funciones de desassembly tan pronto como han realizado algunas acciones que deben deshacerse, eliminando la no necesidad de un decorador de” desassembly “separado” desde aqui Todo […]

PyTest saltar módulo_teardown ()

Tengo el siguiente código en mi módulo de pruebas def teardown_module(): clean_database() def test1(): pass def test2(): assert 0 y quiero que se llame a teardown_module() (algún código de limpieza) solo si falla alguna prueba. De lo contrario (si todo se pasa) este código no debería ser llamado. ¿Puedo hacer un truco con PyTest?

Emita burlas con una llamada de método decorado en Python 2.7

Este código: import mock from functools import wraps def dec(f): @wraps(f) def f_2(*args, **kwargs): pass return f_2 class Example(object): def __init__(self): pass @dec def method_1(self, arg): pass def method_2(self, arg): self.method_1(arg) def test_example(): m = mock.create_autospec(Example) Example.method_2(m, “hello”) m.method_1.assert_called_once_with(“hello”) produce este error con py.test def test_example(): m = mock.create_autospec(Example) > Example.method_2(m, “hello”) example.py:26: _ _ […]