Django и Tox-тестирование
У меня есть пакет django, который я люблю тестировать на разных версиях django с помощью tox и команды python manage.py test
.
В новых версиях django есть
from django.urls import reverse
доступен, но он не существует, например, на Django 1.8, потому что он находится в diff-пути, но эту версию я тоже пытаюсь протестировать.
Может ли кто-нибудь указать мне на ресурсы, чтобы узнать, как я могу пройти токсикологическое тестирование? Каков правильный способ тестирования? Есть ли какой-то условный импорт, который я могу сделать на основе версии django? Или, возможно, что-то вроде
try:
from django.urls import reverse
except ImportError:
from django.core.urlresolvers import reverse
Я просто не уверен, что это стандартный и самый безопасный способ :)
Спасибо!
tox config
[tox]
envlist =
{py27,py35}-django18,
{py27,py35}-django19,
{py27,py35}-django110,
{py27,py35,py36,py37}-django111,
{py35,py36,py37}-django20,
{py35,py36,py37}-django21,
{py35,py36,py37}-django22,
{py35,py36,py37,py38}-django30,
{py38,py39,py310}-django40,
[testenv]
commands =
python manage.py test
deps =
django18: django==1.8.*
django19: django==1.9.*
django110: django==1.10.*
django111: django==1.11.*
django20: django==2.0.*
django21: django==2.1.*
django22: django==2.2.*
django30: django>=3.0a1,<3.1
django40: django==4.0.*
Это ничто, о чем tox
должен позаботиться , поскольку tox
просто управляет бегунком тестирования, в вашем случае python manage.py test
.
Вам необходимо обновить ваш код и/или ваши тесты, чтобы пройти python manage.py test
для Django 1.8.