Articles of unit testing

Django 1.6, Transaction.commit_on_success with Multiprocessing no funciona

Soy nuevo en Django y estoy tratando de escribir algunos casos de prueba. En mi código estoy haciendo alguna transacción. Para ello, bloqueé mi código con select_for_update en django. Ahora quiero probarlo si el locking está funcionando correctamente o no. Estoy ejecutando 2 o más procesos simultáneamente, de modo que solo permite el proceso primero […]

Comparación de matrices de números flotantes en pruebas unitarias

¿Cuál es la mejor manera de implementar una prueba de unidad que compara dos matrices de números flotantes? He intentado unittest.assertEqual () pero no funcionó para matrices de flotación porque la flotación nunca es 100% igual. No puedo usar assertAlmostEqual porque prueba la igualdad (flotante) de la ronda … ¿Alguien empleó algo como esto? self.assertFloatArrayEqual(array1, […]

Deshabilitar mensaje pylint para un módulo o directorio dado

¿Hay alguna manera de deshabilitar el mensaje de duplicate-code de Pylint solo para archivos de prueba? Todas las pruebas en nuestro proyecto son DAMP, por lo que el código duplicado es por diseño. Entiendo que podemos agregar # pylint: disable=duplicate-code en nuestras pruebas, pero preferiríamos agregar algún tipo de regla que diga que todos los […]

¿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 […]

Se omiten todas las pruebas de unidad, pero una en Python mediante el uso de decoradores y metaclases

Estoy escribiendo pruebas unitarias para una MCU que comunica los comandos a través del puerto USB y verifica su respuesta. Si una prueba de unidad falla, tiene sentido para mí hacer un poco de depuración en la MCU. Por lo tanto, me gustaría deshabilitar todas las pruebas de unidad, excepto la que me gustaría depurar […]

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: _ _ […]

Descarga del archivo de prueba de django – “ValueError: operación de E / S en archivo cerrado”

Tengo un código para una vista que sirve para descargar un archivo, y funciona bien en el navegador. Ahora estoy tratando de escribir una prueba para ello, utilizando el django Client.get interno: response = self.client.get(“/compile-book/”, {‘id’: book.id}) self.assertEqual(response.status_code, 200) self.assertEquals(response.get(‘Content-Disposition’), “attachment; filename=book.zip”) hasta ahora tan bueno. Ahora me gustaría probar si el archivo descargado es […]

Cobertura de URL de Django Test Suite

Me gustaría asegurarme de que mi conjunto de pruebas de Django cubra todas las URL que figuran en mi configuración de URL. ¿Hay alguna manera de comparar la lista en la configuración de la URL con una lista de las URL que se han afectado durante un conjunto de pruebas?

Descubrimiento de la unidad de Python con subcarpetas

Mi carpeta de prueba de unidad está organizada de esta manera. . |– import | |– import.kc | |– import.kh | `– import_test.py |– module | |– module.kc | |– module.kh | `– module_test.py `– test.py Me gustaría simplemente ejecutar test.py para ejecutar cada uno de mis *_test.py utilizando el módulo python de unittest. Actualmente, […]