这是一个最佳实践问题。
在 Django 中编写测试时,最好在 tests.py 中硬编码 url,还是使用 dispatch 的 reverse() 函数来检索正确的 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)