Articles of unit testing

¿Cómo puedo escribir pruebas para el código usando twisted.web.client.Agent y sus subclases?

Leí el tutorial oficial sobre desarrollo guiado por pruebas, pero no ha sido de mucha ayuda en mi caso. He escrito una pequeña biblioteca que hace un uso extensivo de twisted.web.client.Agent y sus subclases ( BrowserLikeRedirectAgent , por ejemplo), pero he estado luchando para adaptar el código del tutorial a mis propios casos de prueba. […]

Selenio de Python: esperar hasta que un elemento ya no esté obsoleto?

Tengo una situación en la que quiero esperar hasta que un elemento ya no sea STALE, es decir, hasta que un elemento se conecte al DOM. Las siguientes opciones de espera no funcionan de alguna manera: self.wait.until(EC.visibility_of_element_located((By.ID, “elementID”))) self.wait.until(EC.presence_of_element_located((By.ID, “elementID”))) Su función de espera opuesta está presente, la cual espera hasta que un elemento se […]

Práctica recomendada para Python: comando assert () == False

Me pregunto qué es mejor / mejor: >>> def command(): … return False … >>> assert command() == False >>> assert command() is False >>> assert not command() Saludos, Markus

¿Cómo organizar la prueba de Python de manera que pueda ejecutar todas las pruebas en un solo comando?

Actualmente mi código está organizado en la siguiente estructura de árbol: src/ module1.py module2.py test_module1.py test_module2.py subpackage1/ __init__.py moduleA.py moduleB.py test_moduleA.py test_moduleB.py Donde el module*.py contiene el código fuente y el test_module*.py contiene el TestCase s para el módulo relevante. Con los siguientes comandos puedo ejecutar las pruebas contenidas en un solo archivo, por ejemplo: […]

Pruebas unitarias del progtwig Python CLI

Estoy trabajando en un progtwig de interfaz de línea de comandos de python, y me parece aburrido al hacer pruebas, por ejemplo, aquí está la información de ayuda del progtwig: usage: pyconv [-h] [-f ENCODING] [-t ENCODING] [-o file_path] file_path Convert text file from one encoding to another. positional arguments: file_path optional arguments: -h, –help […]

Añadir separadores de registro a todos los accesorios en unittests

Estoy usando el módulo unittest. Necesito separar los registros setUp, setUpClass, teardown y teardownClass de los registros de unittests. La salida debe verse algo como: **************setting things up************** INFO: preparing database INFO: create new users **************end of setup**************** INFO: starting test one INFO: … **************Cleaning things************** INFO: delete users … Intenté anular algunas funciones en […]

El script de prueba de unidad devuelve el código de salida = 0 incluso si las pruebas fallan

Mi script de prueba se ve como sigue: import os import sys from unittest import defaultTestLoader as loader, TextTestRunner path_to_my_project = os.path.dirname(os.path.abspath(__file__)) + ‘/../’ sys.path.insert(0, path_to_my_project) suite = loader.discover(‘my_project’) runner = TextTestRunner() runner.run(suite) Si ejecuto este script, la salida es: $ python3 runtest.py …..F….. ====================================================================== FAIL: test_insert (fate.test.test_operators.OperatorTest) ———————————————————————- Traceback (most recent call last): File […]

Assert / VerifyElementPresent con Python y WebDriver?

Puede que me confunda el cambio de Selenium a WebDriver y su documentación respectiva. En una sección sobre diseño de pruebas en la documentación se habla de usar Assert vs Verify como AssertElementPresent. Sin embargo, al pasar por el tutorial de WebDriver y comenzar a realizar pruebas de configuración, parece que Python no está disponible. […]

¿Cómo burlarse de objetos de cursor psycopg2?

Tengo este segmento de código en Python2: def super_cool_method(): con = psycopg2.connect(**connection_stuff) cur = con.cursor(cursor_factory=DictCursor) cur.execute(“Super duper SQL query”) rows = cur.fetchall() for row in rows: # do some data manipulation on row return rows que me gustaría escribir algunas pruebas de unidad para. Me pregunto cómo usar mock.patch para parchear el cursor y las […]

Cree e importe funciones de ayuda en las pruebas sin crear paquetes en el directorio de prueba usando py.test

Pregunta ¿Cómo puedo importar funciones de ayuda en archivos de prueba sin crear paquetes en el directorio de test ? Contexto Me gustaría crear una función auxiliar de prueba que pueda importar en varias pruebas. Oye, algo como esto: # In common_file.py def assert_a_general_property_between(x, y): # test a specific relationship between x and y assert […]