You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
No necesita tener muchos datos, pero al menos lo mínimo necesario para probar toda la aplicación.
A fixture is a collection of data that Django knows how to import into a database. The most straightforward way of creating a fixture if you’ve already got some data is to use the manage.py dumpdata command. Or, you can write fixtures by hand; fixtures can be written as JSON, XML or YAML (with PyYAML installed) documents.
Django looks in the fixtures directory inside each app for fixtures.
The text was updated successfully, but these errors were encountered:
Ahora los testcases tienen como "hardcodeados" la creación de los objetos lo que permitiría lo segundo, pero no lo primero. Pasarlos a un archivo aparte (idealmente YAML porque es más simple) solucionará ambos.
Puedo hacer un fixture de todos los datos pero quedaría como un archivo comprimido de 27 MB aprox (manage.py dumpdata fixture.json.gz), no se si es ideal. Sin comprimir son 430 MB.
Estaría bueno tener ese archivo guardado en una parte como para partir con una copia de la BDD, pero no para testear la app.
Parece que se puede hacer esto para tener un set de datos más chico (robado de aquí)
importitertoolsfromdjango.coreimportserializersfromdjango.contrib.admin.utilsimportNestedObjectsfromapps.courses.modelsimportCourse# nombre de la bddcollector=NestedObjects(using="default")
# recolectar consulta de pocas instancias de un modelo collector.collect(Course.objects.all()[:10])
# se obtienene los elementos relacionadosobjects=list(itertools.chain.from_iterable(collector.data.values()))
withopen("courses.json", "w") asfile: # o yamlfile.write(serializers.serialize("json", objects))
Añadir datos iniciales (
fixtures
en Djando) permitiría probar la aplicación sin tener que clonar la base de datos, lo que posibilitará:python manage.py loaddata <fixturename>
TransactionTestCase.fixtures
No necesita tener muchos datos, pero al menos lo mínimo necesario para probar toda la aplicación.
The text was updated successfully, but these errors were encountered: