Me interesa aprender a realizar pruebas de Doctest y de unidad de una manera más ágil/BDD. He encontrado algunos tutoriales que parecen razonables, pero solo son miniaturas. Lo que realmente me gustaría ver es el código fuente de algunos proyectos de Django que se desarrollaron al estilo BDD.Ejemplos del uso de Doctest en Django de forma Agile/BDD
Lo que no entiendo es cómo maneja los objetos solicitados, etc. Tengo una situación en la que implementé mi aplicación y obtengo un comportamiento completamente diferente en la producción que hice en desarrollo o incluso desde el Shell de Python en el servidor de producción. Espero que algunos Doctests me ayuden a diagnosticar esto y que me abran la puerta a un proceso más ágil para escribir las pruebas primero.
Específicamente, aquí está el código que estoy tratando de prueba:
def match_pictures_with_products(queryset, number_of_images = 3):
products = []
i = 0
for product in queryset:
if i < (number_of_images):
image = product.imagemain_set.all()[:1]
product.photo_url = image[0].photo.url
products.append(product)
i += 1
return products
def index(request):
"""returns the top 10 most clicked products"""
products = Product.objects.all()[:10]
products = match_pictures_with_products(products, 10) .
return render_to_response('products/product_list.html', {'products': products})
¿Cómo se crea un doctest que asegura que el índice vuelve 10 objetos?
Las consultas sobre productos parecen funcionar bien desde el shell en el servidor de producción. El servidor real no devuelve ningún producto.
Si quieres una herramienta BDD, prueba la lechuga. –