live_server_url
Атрибут live_server_url доступен в классе LiveServerTestCase
и предоставляет строку с полным URL-адресом тестового сервера.
Этот сервер запускается автоматически перед выполнением тестов
и позволяет проверять взаимодействие с внешними сервисами,
API-клиентами или браузерными тестами. Атрибут доступен только
внутри методов тестового класса и возвращает строку вида
"http://localhost:8081", где порт выбирается динамически.
Синтаксис
self.live_server_url
Атрибут не принимает аргументов и возвращает строку.
Пример
Базовое использование атрибута для проверки доступности сервера:
from django.test import LiveServerTestCase
from django.test import Client
class MyLiveTest(LiveServerTestCase):
def test_server_url(self):
res = self.live_server_url
print(res)
Результат выполнения кода:
"http://localhost:8081"
Пример
Использование live_server_url вместе с клиентом для выполнения запросов:
from django.test import LiveServerTestCase
from django.test import Client
class MyLiveTest(LiveServerTestCase):
def test_client_get(self):
client = Client()
url = self.live_server_url + "/api/status/"
response = client.get(url)
print(response.status_code)
Результат выполнения кода:
"200"
Пример
Использование атрибута для тестирования внешних API-запросов:
from django.test import LiveServerTestCase
import requests
class MyLiveTest(LiveServerTestCase):
def test_external_request(self):
url = self.live_server_url + "/api/data/"
response = requests.get(url)
res = response.json()
print(res)
Результат выполнения кода:
"{'status': 'ok', 'data': []}"
Смотрите также
-
класс
LiveServerTestCase,
который предоставляет тестовый живой сервер -
класс
TestCase,
который используется для стандартного тестирования -
класс
Client,
который имитирует HTTP-запросы в тестах -
атрибут
session,
который управляет сессией клиента