2016-01-10 15 views
6

Làm cách nào để hủy jinja2?Làm cách nào để hủy jinja2? công cụ ứng dụng google, python

Tôi đã sử dụng webtest để kiểm tra đơn vị, nhưng điều đó chỉ đưa tôi đến thời điểm này khi sử dụng templating với công cụ ứng dụng của google.

duy nhất thông tin liên quan tôi thấy được how to unittest the template variables passed to jinja2 template from webapp2 request handler

Tuy nhiên, tôi thấy nó khó tiêu hóa.

Web cũng thiếu thông tin về điều này.

Một đoạn mã của tôi trong một trình xử lý của tôi là:

template_values = { 
     "message": "Ello Mate", 
     "errors": self.error_message, 
     "stats" : self.statuses 
    } 
template = JINJA_ENVIRONMENT.get_template('index.html') 
self.response.out.write(template.render(template_values)) 

Có cách nào tốt để kiểm tra các giá trị mẫu không chỉ cần in ra phản ứng?

+0

Như đã đề cập trong câu trả lời khác, cần phải sử dụng mô hình cho BaseHandler.render_template để kiểm tra các giá trị mẫu thay vì in phản hồi HTML. https://pypi.python.org/pypi/mock là khung mà bây giờ là mặc định trong Python 3 (bạn có thể sử dụng nó trong Python 2 thông qua pip). Rất tiếc, tôi không có ví dụ hoàn chỉnh ngay bây giờ nhưng tôi có thể cập nhật câu hỏi này sau. – Adam

Trả lời

0

Adam là đúng; bạn có thể thử nó, và điều đó có thể phù hợp với nhu cầu của bạn một cách hoàn hảo. Ngoài ra, this post có thông tin về việc Jinja2 làm việc mà không bị nhại. Sau đó, bạn có thể sử dụng HTMLParser để tìm kiếm các template_values trong phản hồi HTML (cung cấp cho các phần tử html id duy nhất của chúng để làm cho dễ dàng hơn).

Các vấn đề liên quan