0

私は次のようなDjango URLパターンを持っています:

url(r'browse/state/(?P<state>\d+)$', browse_state_sites)

このようにテストを記述すると、State matching query エラーが発生します。

def test_browse_state_county_sites(self):
    resp = self.client.get('/browse/state/1')
    self.assertEqual(resp.status_code, 200)

パスをテストするためにキャプチャ グループをどのように渡しますか?

4

1 に答える 1

4

name次のように URL を指定します。

url(r'browse/state/(?P<state>\d+)$', browse_state_sites, name='state-detail')

そして、テストコードで次のdjango.core.urlresolvers.reverseように使用します。

resp = self.client.get(reverse('state-detail', kwargs={
  'state': 12345,
}))

あなたが提供したものに一致するものがないため、エラーが発生GETする可能性があります。正規表現は、フォームの任意の URL と一致します。/browse/state/1/county/1これにより、一致が失敗します。browse/state/(?P<state>\d+)$browse/state/<number>/county/1

于 2013-10-04T20:43:23.523 に答える