diff options
author | Marten Kenbeek <marten.knbk@gmail.com> | 2017-01-12 03:40:18 +0100 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2017-01-11 21:40:18 -0500 |
commit | 1358a67bf95cde86b09b689b4f10f2eeb642de31 (patch) | |
tree | 78b21c2d9d368604cf8ba0417a81a541cac27d20 /tests/urlpatterns_reverse | |
parent | a4cc622363e40e98f2fce4f0d556745ca5d314e0 (diff) | |
download | django-1358a67bf95cde86b09b689b4f10f2eeb642de31.tar.gz |
Fixed #27713 -- Clarified NoReverseMatch error message when no view is found.
Diffstat (limited to 'tests/urlpatterns_reverse')
-rw-r--r-- | tests/urlpatterns_reverse/tests.py | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/tests/urlpatterns_reverse/tests.py b/tests/urlpatterns_reverse/tests.py index b02898e345..b332ac4f7e 100644 --- a/tests/urlpatterns_reverse/tests.py +++ b/tests/urlpatterns_reverse/tests.py @@ -330,6 +330,29 @@ class URLPatternReverse(SimpleTestCase): six.text_type ) + def test_view_not_found_message(self): + msg = ( + "Reverse for 'non-existent-view' not found. 'non-existent-view' " + "is not a valid view function or pattern name." + ) + with self.assertRaisesMessage(NoReverseMatch, msg): + reverse('non-existent-view') + + def test_no_args_message(self): + msg = "Reverse for 'places' with no arguments not found. 1 pattern(s) tried:" + with self.assertRaisesMessage(NoReverseMatch, msg): + reverse('places') + + def test_illegal_args_message(self): + msg = "Reverse for 'places' with arguments '(1, 2)' not found. 1 pattern(s) tried:" + with self.assertRaisesMessage(NoReverseMatch, msg): + reverse('places', args=(1, 2)) + + def test_illegal_kwargs_message(self): + msg = "Reverse for 'places' with keyword arguments '{'arg1': 2}' not found. 1 pattern(s) tried:" + with self.assertRaisesMessage(NoReverseMatch, msg): + reverse('places', kwargs={str('arg1'): 2}) + class ResolverTests(SimpleTestCase): @ignore_warnings(category=RemovedInDjango20Warning) @@ -860,7 +883,7 @@ class RequestURLconfTests(SimpleTestCase): Test reversing an URL from the *default* URLconf from inside a response middleware. """ - message = "Reverse for 'outer' with arguments '()' and keyword arguments '{}' not found." + message = "Reverse for 'outer' not found." with self.assertRaisesMessage(NoReverseMatch, message): self.client.get('/second_test/') @@ -890,7 +913,7 @@ class RequestURLconfTests(SimpleTestCase): Test reversing an URL from the *default* URLconf from inside a streaming response. """ - message = "Reverse for 'outer' with arguments '()' and keyword arguments '{}' not found." + message = "Reverse for 'outer' not found." with self.assertRaisesMessage(NoReverseMatch, message): self.client.get('/second_test/') b''.join(self.client.get('/second_test/')) |