On Thursday, 5 February 2015 12:34:51 UTC, João Sampaio wrote:
>
> There are 3 Python files attached.
>
> I have my URL file attached. I'm using django-rest-framework (in case you 
> are wondering what the routers are). When I use ./manage.py test with the 
> first file (file1.py), the tests succeed. When I do the very same thing 
> with the second file, the tests fail. The only thing changed between the 
> files is the addition of this code:
>
>     def test_update_member_phone_number(self):
>         member = self.create_national_team_member()
>
>         url = reverse(r'nationalteam-member-phone-number',
>                       kwargs={r'pk': member.id})
>
> The error is this one:
>
> ======================================================================
> ERROR: test_update_member_picture (main.tests.test_national_team.
> NationalTeamTestCase)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File 
> "/home/jpmelos/devel/ideation_admin/ideation_admin/main/tests/test_national_team.py"
> , line 177, in test_update_member_picture
>     kwargs={r'pk': member.id})
>   File 
> "/home/jpmelos/devel/ideation_admin/venv/lib/python2.7/site-packages/django/core/urlresolvers.py"
> , line 551, in reverse
>     return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, 
> **kwargs))
>   File 
> "/home/jpmelos/devel/ideation_admin/venv/lib/python2.7/site-packages/django/core/urlresolvers.py"
> , line 468, in _reverse_with_prefix
>     (lookup_view_s, args, kwargs, len(patterns), patterns))
>
> NoReverseMatch: Reverse for 'nationalteam-member-update-picture' with 
> arguments '()' and keyword arguments '{'pk': 10}' not found. 1 pattern(s) 
> tried: ['national-team/(?P<pk>\\d)/update_picture/$']
>
> As you can see in the exception text, the pattern does seem to match. The 
> error seems to happen in a test method that is not even related to the one 
> added to the tests. What is going on? It doesn't make any sense to me. How 
> come the mere addition of a call to reverse can cause the tests to crash?
>


Your regex does *not* match: it only accepts a single digit for pk, but 
 you are passing a two-digit number (10). Modify your regexes to `
(?P<pk>\d+)`.
--
DR.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/68d809f4-341e-4b10-91df-4ae102720256%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to