Примеры использования Doctests в Django Agile / BDD

Я заинтересован в том, чтобы узнать, как проводить Док-тесты и юнит-тесты более гибким способом. Я нашел несколько уроков, которые кажутся разумными, но это всего лишь миниатюры. Что я действительно хотел бы увидеть, так это исходный код некоторых проектов Django, которые были разработаны в стиле BDD.

То, что мне неясно, это то, как вы обрабатываете объекты запросов и т. Д. У меня есть ситуация, когда я развернул свое приложение, и у меня совершенно другое поведение в производственной среде, которое я делал в разработке или даже из оболочки Python в рабочей среде. сервер. Я надеюсь, что некоторые Doctests помогут мне диагностировать это, а также откроют дверь для более гибкого процесса написания тестов в первую очередь.

В частности, вот код, который я пытаюсь проверить:

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

Как мне создать Doctest, который гарантирует, что индекс возвращает 10 объектов?
Запросы Product, похоже, работают нормально из оболочки на рабочем сервере. Фактический сервер не возвращает никаких продуктов вообще.

Ответы на вопрос(4)

Ваш ответ на вопрос