Articles of prueba

Comprobando si la función ha sido llamada varias veces con diferentes parámetros

Supongamos que tenemos una función f(x,y) y otra función def g(): # … f(i,j) # i,j vary and f is called multiple times # … Queremos escribir una prueba de unidad que verifique si f se llama el número de veces y con los parámetros correctos. def test_g(): with patch(‘mymodule.f’) as function: assert function.gacs.call_count == […]

cobertura.py: excluir archivos

¿Cómo excluyo archivos completos de los informes de Cover.py ? De acuerdo con la documentación puede excluir el código por líneas coincidentes. Quiero excluir archivos completos, para que los informes no incluyan bibliotecas de terceros. ¿Me estoy perdiendo de algo? Se puede hacer?

¿Cómo simular el datetime.now () de python en un método de clase para pruebas de unidad?

Estoy tratando de escribir pruebas para una clase que tiene métodos como: import datetime import pytz class MyClass: def get_now(self, timezone): return datetime.datetime.now(timezone) def do_many_things(self, tz_string=’Europe/London’): tz = pytz.timezone(tz_string) localtime_now = self.get_now(tz) … return things Quiero probarlo, y para hacerlo debo asegurarme de que la llamada a datetime.datetime.now() devuelva algo predecible. He estado leyendo muchos […]

Ejecutar pruebas unitarias con Nose en un entorno Python como Autodesk Maya?

Me gustaría comenzar a crear pruebas unitarias para mis scripts mayas. Estos scripts se deben ejecutar dentro del entorno Maya y dependen del espacio de nombres del módulo maya.cmds . ¿Cómo puedo ejecutar pruebas de nariz desde un entorno de ejecución como Maya?

Python factory_boy library m2m en el modelo Django?

Actualmente estoy usando factory_boy para crear accesorios en mis pruebas. Factory_boy docs solo mencionó sobre SubFactory que podría actuar como un campo ForeignKey en un modelo. Sin embargo, no había nada en la asociación ManyToMany. Si tuviera un modelo de publicación posterior, ¿cómo podría crear una fábrica para él? class Post(models.Model): title = models.CharField(max_length=100) tags […]

Django probando modelo con ImageField

Necesito probar el modelo de foto de mi aplicación Django. ¿Cómo puedo burlar el ImageField con un archivo de imagen de prueba? tests.py class PhotoTestCase(TestCase): def test_add_photo(self): newPhoto = Photo() newPhoto.image = # ?????? newPhoto.save() self.assertEqual(Photo.objects.count(), 1)

¿Qué números puede pasar como verbosidad en la ejecución de los conjuntos de pruebas unitarias de Python?

El framework unittest de Python tiene un concepto de verbosidad que parece que no puedo encontrar definido en ninguna parte. Por ejemplo, estoy ejecutando casos de prueba como este ( como en la documentación ): suite = unittest.TestLoader().loadTestsFromTestCase(MyAwesomeTest) unittest.TextTestRunner(verbosity=2).run(suite) El único número que he visto pasar como verbosidad es 2. ¿Qué es este número mágico, […]

¿Hay algún buen tutorial en línea para TDD para un progtwigdor experimentado que es nuevo en las pruebas?

Estoy trabajando con un equipo de desarrollo de Python que tiene experiencia con la progtwigción en Python, pero que ahora está tratando de adquirir TDD. Como tengo experiencia en el trabajo con TDD, me han pedido que haga una presentación al respecto. Principalmente, solo quiero ver artículos sobre esto para poder ver cómo otras personas […]

Ejecutando pytest con cython – ¿cómo comstackr los módulos de cython en pytest?

Tengo un proyecto organizado de la siguiente manera: project ├── project │ ├── module1 │ │ ├── api.py │ │ ├── _cpython_foo.py │ │ └── _cython_foo.pyx │ └── module2 ├── setup.py └── tests └── module1 ├── test_cython_foo.py └── test_cpython_foo.py donde api.py importa extensiones citonizadas: “””api.py”””” from _cython_foo import cython_fun Mi script de configuración genera la […]

python – Flask basic auth testing con pytest

Actualmente estoy usando Flask-HTTPAuth para la autenticación básica dentro de mi proyecto. Lo he probado a mano utilizando tokens curl y base64 y, de hecho, funciona. Sin embargo, estoy teniendo problemas para crear pruebas que prueben que funciona. Esta es mi prueba actual y siempre vuelve 401: clase TestLoginApi def setup(self): myapp.app.config.from_object(“config.TestingConfig”) self.app = myapp.app.test_client() […]