Tôi muốn tìm hiểu cách thực hiện Doctests và kiểm tra Đơn vị theo cách Agile/BDD hơn. Tôi đã tìm thấy một vài hướng dẫn có vẻ hợp lý, nhưng chúng chỉ là hình thu nhỏ. Điều tôi thực sự muốn thấy là mã nguồn của một số dự án Django được phát triển theo kiểu BDD.Ví dụ về việc sử dụng Doctests ở Django theo cách Agile/BDD
Những điều tôi chưa rõ là làm cách nào để xử lý các đối tượng yêu cầu, v.v. Tôi có một tình huống mà tôi đã triển khai ứng dụng của mình và tôi nhận được hành vi hoàn toàn khác trong sản xuất mà tôi đã phát triển hoặc thậm chí từ Vỏ Python trên máy chủ sản xuất. Tôi hy vọng một số Doctests sẽ giúp tôi chẩn đoán điều này và cũng như mở cửa cho một quá trình nhanh nhẹn hơn bằng văn bản các bài kiểm tra đầu tiên.
Cụ thể, đây là mã Tôi đang cố gắng để kiểm tra:
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})
Làm thế nào để tạo ra một doctest đảm bảo rằng chỉ số trả 10 đối tượng?
Truy vấn sản phẩm dường như hoạt động tốt từ trình bao trên máy chủ sản xuất. Máy chủ thực tế không trả lại bất kỳ sản phẩm nào.
Nếu bạn muốn có công cụ BDD, hãy thử rau diếp. –