Как лучше всего тестировать частично загруженные веб-страницы в Django? - PullRequest
0 голосов
/ 15 августа 2011

Я знаю, что в интеграции с django легко проверить, будет ли страница загружаться успешно, убедившись, что код состояния равен 200. Однако в проекте, над которым я работаю, есть страницы, которые могут частично загружаться (некоторые разделы страницы будутмолча не удается загрузить).Как лучше всего уловить эту ситуацию?Есть ли способ вставить такую ​​ошибку в http-ответ?

Я знаю, что могу потенциально сделать регулярное выражение для текста на странице, чтобы проверить наличие вещей, которые могут не загружаться, или я, возможно, могу проверить это имя определенного CSSкласс существует.Но это не кажется слишком надежным подходом.

1 Ответ

0 голосов
/ 15 августа 2011

Это будет в значительной степени зависеть от деталей вашей реализации, но есть два подходящих подхода к тестированию шаблонов, которые могут вам помочь:

  • Если частичная загрузка страницы может быть проверена / инициирована с использованием не более чем синтаксиса шаблонов, создайте тестовые шаблоны, которые условно печатают некоторый текст, с которым вы можете сопоставить в ответе, например, WORKED или FOO.

  • Если это что-то, что в значительной степени зависит от контекста, который получает шаблон, то одноразовые тестовые представления, которые вы определяете вместе с вашим тестовым примером и вызываете напрямую, передавая имитированный запрос, также работают. В этом случае вы, скорее всего, будете полагаться на тестовое представление для создания исключений, если рендеринг страницы не будет выполняться должным образом, в противном случае все прошло хорошо.

  • Кроме того, вы можете даже смешать два. В этом случае вы будете полагаться на представление, чтобы сгенерировать ответ HTTP, который вы затем проверите на наличие тестового текста.

Если это не сработает, вы можете переопределить шаблоны. Общая проблема в том, что вы не можете полагаться на сопоставление с текстом, потому что он глобальный. Шаблон может измениться и привести к сбою в ваших тестах. Затем вы можете создать специальные настройки теста, которые добавят дополнительные каталоги для обнаружения шаблонов, где вы можете предоставить различные реализации шаблонов, которые содержат текст, который не изменяется, который будет подходящим и безопасным для сравнения в тесте. Сложность этого подхода заключается в том, что он не документирует сам себя, в отличие от двух предыдущих подходов.

...