Django 和 Tox 测试
Django and Tox testing
我有一个 django 包,我喜欢使用 tox 和 python manage.py test
命令针对不同版本的 django 进行测试。
在较新的版本中,django 有
from django.urls import reverse
可用,但这在例如Django 1.8,因为它在差异路径中,但我也在尝试测试这个版本。
有人可以给我指点资源以了解我如何仍然可以通过毒物测试吗?
测试这个的正确方法是什么?我可以根据 django 版本进行某种条件导入吗?
或者可能像
try:
from django.urls import reverse
except ImportError:
from django.core.urlresolvers import reverse
我只是不确定这是否是标准和最安全的方式:)
谢谢!
tox 配置
[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
。
您需要更新代码 and/or 您的测试才能通过 Django 1.8 的 python manage.py test
。
我有一个 django 包,我喜欢使用 tox 和 python manage.py test
命令针对不同版本的 django 进行测试。
在较新的版本中,django 有
from django.urls import reverse
可用,但这在例如Django 1.8,因为它在差异路径中,但我也在尝试测试这个版本。
有人可以给我指点资源以了解我如何仍然可以通过毒物测试吗? 测试这个的正确方法是什么?我可以根据 django 版本进行某种条件导入吗? 或者可能像
try:
from django.urls import reverse
except ImportError:
from django.core.urlresolvers import reverse
我只是不确定这是否是标准和最安全的方式:)
谢谢!
tox 配置
[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
。
您需要更新代码 and/or 您的测试才能通过 Django 1.8 的 python manage.py test
。