Django4.0 进阶测试主题-测试基于类的视图
2022-03-17 11:50 更新
为了在请求/响应周期之外测试基于类的视图,你必须确保它们配置正确,在实例化之后调用 setup()
。
例如,假设基于类的视图如下:
from django.views.generic import TemplateView class HomeView(TemplateView): template_name = 'myapp/home.html' def get_context_data(self, **kwargs): kwargs['environment'] = 'Production' return super().get_context_data(**kwargs)
你可以直接测试 get_context_data()
方法,首先实例化视图,然后向 setup()
传递一个 request
,然后再进行测试代码。
from django.test import RequestFactory, TestCase from .views import HomeView class HomePageTest(TestCase): def test_environment_set_in_context(self): request = RequestFactory().get('/') view = HomeView() view.setup(request) context = view.get_context_data() self.assertIn('environment', context)
以上内容是否对您有帮助:
更多建议: