为了在请求/响应周期之外测试基于类的视图,你必须确保它们配置正确,在实例化之后调用 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)
简介dynamic-datasource-spring-boot-starter是一个基于springboot的快速集成多数据源的启动器。其支持Jdk1.7+,Spring...
动态SQL中的插入脚本语言MyBatis从3.2版本开始支持插入脚本语言,这允许你插入一种语言驱动,并基于这种语言来编写动态SQL查询语...
Spring 有可能成为所有企业应用程序的一站式服务点,然而,Spring 是模块化的,允许你挑选和选择适用于你的模块,不必要把剩余部...
JSP指令用来设置整个JSP页面相关的属性,如网页的编码方式和脚本语言。语法格式如下: %@ directive attribute="value" %指令可...
Swift 字典Swift 字典用来存储无序的相同类型数据的集合,Swift 数组会强制检测元素的类型,如果类型不同则会报错。Swift 字典每...
基准测试Rust支持基准测试来测试用户代码的性能。我们来看一下 src/lib.rs 的性能如何。`#![feature(test)]extern crate test;pu...
本节的内容将提供常用的一些MATLAB命令。在之前的篇章中我们已经知道了MATLAB数值计算和数据可视化是一个交互式程序,在它的命令...
VB有两种Do循环语句,只要或者直到某个条件为真,它们就会重复一系列的语句。只要条件为真,Do…While循环就允许你重复某个操作...