Przykłady używania Doctestów w Django w sposób Agile / BDD

Jestem zainteresowany poznaniem testów Doctests i Unitów w bardziej zwinny / BDD sposób. Znalazłem kilka samouczków, które wydają się rozsądne, ale są tylko miniaturkami. Naprawdę chciałbym zobaczyć kod źródłowy niektórych projektów Django, które zostały opracowane w stylu BDD.

Nie jestem pewien, w jaki sposób radzisz sobie z obiektami żądań itp. Mam sytuację, w której wdrożyłem moją aplikację i otrzymuję zupełnie inne zachowanie w produkcji, które zrobiłem w trakcie tworzenia, a nawet od powłoki Pythona podczas produkcji serwer. Mam nadzieję, że niektóre Doctests pomogą mi zdiagnozować to i otworzyć drzwi do bardziej zwinnego procesu pisania testów.

Oto kod, który próbuję przetestować:

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}) 

Jak mogę utworzyć Doctest, który zapewnia, że ​​indeks zwraca 10 obiektów?
Zapytania dotyczące produktu wydają się działać poprawnie z powłoki na serwerze produkcyjnym. Właściwy serwer w ogóle nie zwraca żadnych produktów.

questionAnswers(4)

yourAnswerToTheQuestion