Spec-Zone.ru › Wagtail 2

Тестирование вашего сайта Wagtail

Wagtail поставляется с некоторыми утилитами, которые упрощают написание тестов для вашего сайта.

WagtailPageTests

Вспомогательные функции для данных форм

Метод assertCanCreate требует, чтобы данные страницы передавались в том же формате, что и данные, отправляемые формой редактирования страницы. Для сложных типов страниц построение этой структуры данных вручную может быть сложно; модуль wagtail.tests.utils.form_data предоставляет набор вспомогательных функций для помощи в этом.

Фикстуры

Использование dumpdata

Создание фикстур для тестов лучше всего выполняется путем создания контента в среде разработки и использования команды Django dumpdata.

Обратите внимание, что по умолчанию dumpdata будет представлять content_type по первичному ключу; это может вызвать проблемы с согласованностью при добавлении/удалении моделей, поскольку типы контента заполняются отдельно от фикстур. Чтобы этого избежать, используйте переключатель --natural-foreign, который представляет типы контента по ["app", "model"] вместо этого.

Ручное изменение

Вы можете вручную изменить сгенерированные фикстуры или даже написать их все вручную. Вот несколько моментов, на которые следует обратить внимание.

Настраиваемые модели страниц

При создании настраиваемых моделей страниц в фикстурах вам нужно будет добавить запись wagtailcore.page и одну для вашей настраиваемой модели страницы.

Допустим, у вас есть модуль website, который определяет класс Homepage(Page). Вы можете создать такую домашнюю страницу в фикстуре с помощью:

[
  {
    "model": "wagtailcore.page",
    "pk": 3,
    "fields": {
      "title": "My Customer's Homepage",
      "content_type": ["website", "homepage"],
      "depth": 2
    }
  },
  {
    "model": "website.homepage",
    "pk": 3,
    "fields": {}
  }
]

Поля Treebeard

Заполнение полей path, numchild и depth необходимо для корректной работы операций с деревом, таких как get_parent(). url_path — это еще одно поле, которое в некоторых редких случаях может вызвать ошибки, если оно не заполнено.

Документация по Treebeard может помочь в понимании работы с этим.

  • Предыдущая Учебники третьих сторон
  • Следующая API Wagtail

Содержание страницы

  • Тестирование вашего сайта Wagtail
    • WagtailPageTests
    • Вспомогательные функции для данных форм
    • Фикстуры
      • Использование dumpdata
      • Ручное изменение
        • Настраиваемые модели страниц
        • Поля Treebeard

© 2014-present Torchbox Ltd and individual contributors.
All rights are reserved.
Licensed under the BSD License.
https://docs.wagtail.org/en/v2.16.3/advanced_topics/testing.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API