live_server_url

Атрибут live_server_url доступен в классе LiveServerTestCase и предоставляет строку с полным URL-адресом тестового сервера. Этот сервер запускается автоматически перед выполнением тестов и позволяет проверять взаимодействие с внешними сервисами, API-клиентами или браузерными тестами. Атрибут доступен только внутри методов тестового класса и возвращает строку вида "http://localhost:8081", где порт выбирается динамически.

Синтаксис

pythonself.live_server_url

Атрибут не принимает аргументов и возвращает строку.

Пример

Базовое использование атрибута для проверки доступности сервера:

pythonfrom django.test import LiveServerTestCase
from django.test import Client

class MyLiveTest(LiveServerTestCase):
  def test_server_url(self):
    res = self.live_server_url
    print(res)

Результат выполнения кода:

python"http://localhost:8081"

Пример

Использование live_server_url вместе с клиентом для выполнения запросов:

pythonfrom 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)

Результат выполнения кода:

python"200"

Пример

Использование атрибута для тестирования внешних API-запросов:

pythonfrom 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)

Результат выполнения кода:

python"{'status': 'ok', 'data': []}"

Смотрите также

  • класс LiveServerTestCase,
    который предоставляет тестовый живой сервер
  • класс TestCase,
    который используется для стандартного тестирования
  • класс Client,
    который имитирует HTTP-запросы в тестах
  • атрибут session,
    который управляет сессией клиента