我该如何测试这些功能?他们所做的就是渲染html页面并将一些对象传递给html页面。
def index(request):
companies = Company.objects.filter(approved = True);
return direct_to_template(request, 'home.html', {'companies': companies} );
答案 0 :(得分:29)
可以测试以下内容:
代码看起来像这样:
class TestPage(TestCase):
def setUp(self):
self.client = Client()
def test_index_page(self):
url = reverse('index')
response = self.client.get(url)
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, 'index.html')
self.assertContains(response, 'Company Name XYZ')
答案 1 :(得分:1)
我不确定你想要测试,但这里有一些建议。
首先,熟悉Django python shell。您可以通过进入终端,转到根文件夹并键入:
来调用shellpython manage.py shell
然后您可以导入相关模型:
from myapp.models import *
然后你可以让你的查询集看到它返回的内容:
companies = Company.objects.filter(approved = True)
companies
你会得到错误或反馈。这是一种测试查询的简便方法。
第二个选项是实际构建模板,运行内置Web服务器,并尝试加载页面。 Django附带了一个出色的调试器,如果您有任何错误,它会通知您。如果您不明白如何做到这一点,我建议您浏览django教程。 https://docs.djangoproject.com/en/dev/intro/tutorial01/