Skip to content

django-debug-toolbar conflicts with django test #1035

@mangobowl

Description

@mangobowl

If django-debug-toolbar installed and configured well as the docs, when executing a django project test (eg: python manage.py test), and django reverse function used in the tests(This is very important), it will get these errors as following:

======================================================================
ERROR: test_list (toolbar.tests.MyTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Users\vm\Desktop\test_project\toolbar\tests.py", line 10, in test_li
st
    response = self.client.get(reverse('list'))
  File "C:\Python27\lib\site-packages\django\test\client.py", line 536, in get
    **extra)
  File "C:\Python27\lib\site-packages\django\test\client.py", line 340, in get
    return self.generic('GET', path, secure=secure, **r)
  File "C:\Python27\lib\site-packages\django\test\client.py", line 416, in gener
ic
    return self.request(**r)
  File "C:\Python27\lib\site-packages\django\test\client.py", line 501, in reque
st
    six.reraise(*exc_info)
  File "C:\Python27\lib\site-packages\django\core\handlers\exception.py", line 4
1, in inner
    response = get_response(request)
  File "C:\Python27\lib\site-packages\django\utils\deprecation.py", line 142, in
 __call__
    response = self.process_response(request, response)
  File "C:\Python27\lib\site-packages\debug_toolbar\middleware.py", line 134, in
 process_response
    bits[-2] += toolbar.render_toolbar()
  File "C:\Python27\lib\site-packages\debug_toolbar\toolbar.py", line 64, in ren
der_toolbar
    return render_to_string('debug_toolbar/base.html', context)
  File "C:\Python27\lib\site-packages\django\template\loader.py", line 68, in re
nder_to_string
    return template.render(context, request)
  File "C:\Python27\lib\site-packages\django\template\backends\django.py", line
66, in render
    return self.template.render(context)
  File "C:\Python27\lib\site-packages\django\template\base.py", line 207, in ren
der
    return self._render(context)
  File "C:\Python27\lib\site-packages\django\test\utils.py", line 107, in instru
mented_test_render
    return self.nodelist.render(context)
  File "C:\Python27\lib\site-packages\django\template\base.py", line 990, in ren
der
    bit = node.render_annotated(context)
  File "C:\Python27\lib\site-packages\django\template\base.py", line 957, in ren
der_annotated
    return self.render(context)
  File "C:\Python27\lib\site-packages\django\template\defaulttags.py", line 216,
 in render
    nodelist.append(node.render_annotated(context))
  File "C:\Python27\lib\site-packages\django\template\base.py", line 957, in ren
der_annotated
    return self.render(context)
  File "C:\Python27\lib\site-packages\django\template\defaulttags.py", line 322,
 in render
    return nodelist.render(context)
  File "C:\Python27\lib\site-packages\django\template\base.py", line 990, in ren
der
    bit = node.render_annotated(context)
  File "C:\Python27\lib\site-packages\django\template\base.py", line 957, in ren
der_annotated
    return self.render(context)
  File "C:\Python27\lib\site-packages\django\template\defaulttags.py", line 322,
 in render
    return nodelist.render(context)
  File "C:\Python27\lib\site-packages\django\template\base.py", line 990, in ren
der
    bit = node.render_annotated(context)
  File "C:\Python27\lib\site-packages\django\template\base.py", line 957, in ren
der_annotated
    return self.render(context)
  File "C:\Python27\lib\site-packages\django\template\base.py", line 1040, in re
nder
    output = self.filter_expression.resolve(context)
  File "C:\Python27\lib\site-packages\django\template\base.py", line 708, in res
olve
    obj = self.var.resolve(context)
  File "C:\Python27\lib\site-packages\django\template\base.py", line 849, in res
olve
    value = self._resolve_lookup(context)
  File "C:\Python27\lib\site-packages\django\template\base.py", line 890, in _re
solve_lookup
    current = getattr(current, bit)
  File "C:\Python27\lib\site-packages\debug_toolbar\panels\__init__.py", line 96
, in content
    return render_to_string(self.template, self.get_stats())
  File "C:\Python27\lib\site-packages\django\template\loader.py", line 68, in re
nder_to_string
    return template.render(context, request)
  File "C:\Python27\lib\site-packages\django\template\backends\django.py", line
66, in render
    return self.template.render(context)
  File "C:\Python27\lib\site-packages\django\template\base.py", line 207, in ren
der
    return self._render(context)
  File "C:\Python27\lib\site-packages\django\test\utils.py", line 107, in instru
mented_test_render
    return self.nodelist.render(context)
  File "C:\Python27\lib\site-packages\django\template\base.py", line 990, in ren
der
    bit = node.render_annotated(context)
  File "C:\Python27\lib\site-packages\django\template\base.py", line 957, in ren
der_annotated
    return self.render(context)
  File "C:\Python27\lib\site-packages\django\template\defaulttags.py", line 322,
 in render
    return nodelist.render(context)
  File "C:\Python27\lib\site-packages\django\template\base.py", line 990, in ren
der
    bit = node.render_annotated(context)
  File "C:\Python27\lib\site-packages\django\template\base.py", line 957, in ren
der_annotated
    return self.render(context)
  File "C:\Python27\lib\site-packages\django\template\defaulttags.py", line 216,
 in render
    nodelist.append(node.render_annotated(context))
  File "C:\Python27\lib\site-packages\django\template\base.py", line 957, in ren
der_annotated
    return self.render(context)
  File "C:\Python27\lib\site-packages\django\template\defaulttags.py", line 458,
 in render
    url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)
  File "C:\Python27\lib\site-packages\django\urls\base.py", line 87, in reverse
    raise NoReverseMatch("%s is not a registered namespace" % key)
NoReverseMatch: u'djdt' is not a registered namespace

----------------------------------------------------------------------
Ran 1 test in 0.085s

FAILED (errors=1)
Destroying test database for alias 'default'...

Environment

python: 2.7.14
django: 1.11.9
django-debug-toolbar: 1.9.1

Test file sample

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.test import TestCase
from django.core.urlresolvers import reverse

# Create your tests here.
class MyTests(TestCase):
    def test_list(self):
        response = self.client.get(reverse('list'))
        self.assertEqual(response.status_code, 200)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions