Я начал писать некоторые тесты для своего приложения Django, и я не уверен, как лучше всего структурировать код.Тесты Django зависят от других страниц/поведения
Скажите, что у меня есть страница регистрации и страница для входа в систему только для пользователей. Мой первый план должен был иметь более ранний метод выполнения регистра и последующего использования метода, который логин, чтобы проверить страницу:
def test_register_page(self):
//send request to register page and check user has been registered correctly
def test_restricted_page(self):
c = Client();
c.login("someUser","pass");
c.post("/someRestrictedPage/");
//Test response
Однако это означает, что теперь один из моих тестов полагаться на другой.
Альтернативы, которые я вижу, вызывают регистр в setUp(), но это все равно означает, что тест с ограниченной страницей зависит от работы страницы регистрации.
Я мог бы попытаться создать нового пользователя вручную в настройках, которые мне также не нравятся, потому что это не тестирование пользователя, созданного системой.
Что такое обычный образец для проверки такого рода ситуации?
Извините, если я не был чист. Предполагается, что это два отдельных модульных теста, один из которых проверяет ограничение доступа к зарегистрированным пользователям, а другой - для проверки регистрации пользователей. Похоже, setup() должен вручную создавать пользователя для тестирования. Спасибо за вашу помощь. – Jim
@Jim: Если вы интересны в этой теме, в Django есть приятные тесты для адресации разговоров, особенно показывающие некоторые удобные методы для создания объектов только для теста: https://www.youtube.com/watch?v=ickNQcNXiS4&context = C44039cbADvjVQa1PpcFPQunG_ULh73WnDAl7g7Y8JDYIDmeEZjYQ = –