Articles of unit testing

Mensaje de error: se intentó ejecutar el comando sin establecer una conexión al ejecutar varias pruebas con prueba de unidad

Tengo un problema en el que todas mis pruebas funcionan correctamente cuando se ejecutan individualmente. Sin embargo, cuando bash ejecutar todas las pruebas en el archivo, aparece el mensaje de error: Intenté ejecutar el comando sin establecer una conexión. Sé que las pruebas funcionan porque se ejecutan individualmente, pero necesito poder ejecutar todas las pruebas […]

Prueba de efectos secundarios en python

Quiero verificar que mi función no tenga efectos secundarios, o que solo los efectos secundarios afecten a variables precisas. ¿Hay una función para verificar que en realidad no tiene efectos secundarios (o efectos secundarios solo en ciertas variables)? Si no es así, ¿cómo puedo escribir mi propia cuenta de la siguiente manera? Mi idea sería […]

Probando un cliente API de Python

Esta pregunta se basa en ¿Cómo puedo probar un cliente API con Python? class MyClient(…): def _do_get(self, suffix): return requests.get(self.service_url + “/” + suffix).json() def do_stuff(self): return self._do_get(“stuff”) Este es un cliente de ejemplo y el proveedor de respuestas dijo que se burlaba del método que realiza las solicitudes: class MyClientWithMocks(MyClient): def _do_get(self, suffix): self.request_log.append(suffix) […]

“Burlarse de donde se define” en simulacro de python?

Quiero probar una aplicación de base de datos SQLite en evolución, que se utiliza en paralelo “productivamente”. De hecho, estoy investigando un montón de archivos de texto grandes importándolos a la base de datos y jugueteando con ellos. Estoy acostumbrado a desarrollar pruebas y no quiero dejar eso para esta investigación. Pero ejecutar pruebas contra […]

Django / Python unittesting: Cómo forzar la excepción del bloque Try / Except

¿Hay alguna manera de forzar la ejecución del bloque de excepción para que pueda verificar los mensajes de error / manejo con la prueba de la unidad? Por ejemplo: vistas.py def get_books(request): … try: book = Books.objects.get_or_create(user=request.user) except: messages.error(request, ‘Unable to create new book!’) return HttpResponseRedirect(reverse(‘my_books’)) # more try/except cases Entonces, en este ejemplo, podría […]

ImportError: Ningún módulo llamado zlib; toxina

Estoy tratando de ejecutar pruebas de toxinas como Python 2.6. Acabo de instalar 2.6 y ahora estoy superando el error de “Error de intérprete: no hay Python 2.6”, pero Tox ahora está fallando en zlib Zlib está en mi máquina sin embargo. Mi problema de toxina parece: $ tox -e py26 GLOB sdist-make: /home/cchilders/work_projects/webapi/setup.py py26 […]

Python: simula un parche de un módulo desde donde se importa

Necesito asegurarme de que las pruebas unitarias en ejecución no activen la llamada función de mundo exterior pesada, por ejemplo, esta: # bigbad.py def request(param): return ‘I searched the whole Internet for “{}”‘.format(param) Múltiples módulos usan esta función (bigbad.request) y la importan de manera diferente (en la vida real también se puede importar desde una […]

Escribir pruebas unitarias descriptivas.

Estoy tratando de escribir pruebas unitarias en Python y me cuesta encontrar una manera descriptiva de hacer las cosas. Tengo un fondo de JavaScript y uso mocha que me ayuda a ser descriptivo. Esto es lo que quiero decir con “descriptivo”: foo.js exports.foo = function (type, isLogged, iOk) { if (type === undefined) throw new […]

PyUnit: ¿Cómo realizar una prueba unitaria de un método que se ejecuta en un bucle infinito para alguna entrada?

Una publicación en 2011 respondió a esta pregunta para NUnit: ¿Cómo probar en unidad un método que se ejecuta en un bucle infinito para alguna entrada? ¿Hay un TimeoutAttribute similar en PyUnit que pueda usar de la misma manera? Hice una búsqueda y encontré “Duración”, pero no parecía lo mismo.

¿Cómo enviar una variable de configuración a una prueba py.test?

Tengo una suite de prueba que debe ejecutarse con varios backends. Sin embargo, no es una prueba parametrizada simple, ya que se aplica a toda la suite (múltiples archivos / módulos). Puedo controlar la ejecución a través del entorno, pero me pregunto si py.test tiene una forma más clara de express esto. Es decir, estoy […]