Это вопрос наилучшей практики.
При написании тестов в Django лучше ли жестко указывать URL-адреса в файле tests.py или использовать функцию обратного вызова() для получения правильного URL-адреса?
Использование жестко запрограммированных URL-адресов для тестирования только чувствует как правильный путь, но в то же время я не могу придумать достаточно хороший аргумент, чтобы не использовать reverse().
Опция A. reverse()
# Data has already been loaded through a fixture
def test_view_blog(self):
url = reverse('blog', kwargs={'blog_slug':'test-blog'})
response = self.client.get(url)
self.failUnlessEqual(response.status_code, 200)
Вариант B. жестко закодированный
# Data has already been loaded through a fixture
def test_view_blog(self):
url = '/blog/test-blog/'
response = self.client.get(url)
self.failUnlessEqual(response.status_code, 200)