Ну, если вы тестируете шаблоны, каждый шаблон, который вы отображаете, является результатом запроса к какому-либо маршруту.Если вы отображаете URL-адреса в шаблоне, используя url_for()
, то он увеличит значение BuildError
, если URL-адрес указывает на несуществующий маршрут, и сервер вернет код состояния 500. Следовательно, вам не нужно анализироватьваши шаблоны вручную для целей тестирования, если вы просто проверите маршрут.
Пример:
from flask import Flask, render_template_string
app = Flask(__name__)
@app.route('/index')
def index():
return render_template_string("""
{{ url_for('index') }}
{{ url_for('blabla') }}
""")
def test_index(self):
r = self.app.get("/index")
self.assertEqual(200, r.status_code, "Status code was not 'OK'.")
Это приведет к ошибке routing.BuildError: Could not build url for endpoint 'blabla'. Did you mean 'static' instead?
, которая приведет к неудаче ваших тестов.
Надеюсь, это объяснение достаточно ясное!