首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Django配置文件应用程序中测试视图的最佳实践?

在Django配置文件应用程序中测试视图的最佳实践?
EN

Stack Overflow用户
提问于 2011-10-30 13:07:14
回答 1查看 550关注 0票数 0

我想在Django配置文件应用程序中编写一些视图测试。

视图有一些智能的错误处理逻辑。例如,如果我们试图创建一个概要文件,但是概要文件已经存在,那么只需重定向到现有的配置文件页面(或者可能是编辑概要文件页面)。

如何测试此错误处理是否按需要工作?什么是最佳实践?

一种方法是使用Zombie.js进行BDD,并测试是否看到一个标题不是"Create“的页面(或者检查是否看到标题为"Edit”的页面)。但是Django测试医生说:

  • 使用Django的测试客户端来确定是否调用了正确的视图,并且视图正在收集正确的上下文数据。
  • 使用Twill和Selenium等浏览器中的框架来测试呈现的HTML和网页的行为,即JavaScript

但是,如果我想使用Django测试客户机,它可以执行以下操作:

  • 在URL上模拟GET和POST请求,并观察响应--从低级别的HTTP (结果头和状态代码)到页面内容。
  • 测试为给定的URL执行正确的视图。
  • 测试:给定的请求由给定的Django模板呈现,其中包含特定值的模板上下文。

我是否应该使用测试客户端,然后查看页面内容?我应该看看呈现了什么模板吗?测试这个视图的合适方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-30 14:32:03

重定向和概要文件创建都是django,所以虽然您可以使用其他框架来测试JS功能,但对于这个实例,我将使用django测试客户端。

你必须逐案决定你的测试到底要走多远。时间是有限的,有些方面比其他方面更容易破碎。例如,我不会担心模板解析- 200状态代码和快速检查内容是足够的。

总之,我首先要识别视图的不同状态(我在这里猜测):

  • 呈现自身(检查内容、模板、状态代码等)
  • 配置文件表单验证错误
  • 配置文件表单成功:配置文件创建:成功重定向
  • 智能错误处理/重定向。

<代码>F29

如何测试此错误处理是否按需要工作?

代码语言:javascript
运行
AI代码解释
复制
# create object with specific ID.
# post form data that should trigger your special redirect. 
# ensure the redirect takes you to the model you just created via reverse
response = client.post(reverse('form_url'), {'valid_form_data': ''}, follow=True)
assertRedirects(response, reverse('view_url', args=[id]), target_status_code=200)

这将确认正确的配置文件正被重定向到给定的数据,您决定的任何数据应该触发此操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7947819

复制
相关文章
Python 有可能删除 GIL 吗?
我们知道,在 CPython 中,有一个全局解释器锁,英文叫 global interpreter lock,简称 GIL,是一个互斥锁,用来保护 Python 世界里的对象,防止同一时刻多个线程执行 Python 的字节码,从而确保线程安全,这导致了 Python 的线程无法利用多核 CPU 的优势,因此有人说 Python 的多线程是伪多线程,性能不高,那么 Python 将来有可能去除 GIL 吗?
somenzz
2021/03/10
2.8K0
MySQL数据库的创建(表的创建,列,表的增删改,深入浅出)
存储数据是处理数据的第一步 。只有正确地把数据存储起来,我们才能进行有效的处理和分析。否则,只能是一团乱麻,无从下手。那么,怎样才能把用户各种经营相关的、纷繁复杂的数据,有序、高效地存储起来呢? 在 MySQL 中,一个完整的数据存储过程总共有 4 步,分别是创建数据库、确认字段、创建数据表、插入数据。
一个风轻云淡
2022/11/13
4.3K0
MySQL数据库的创建(表的创建,列,表的增删改,深入浅出)
第42期:MySQL 是否有必要多列分区
之前的篇章我们讨论的都是基于单列的分区表,那有无必要建立基于多列的分区表?这种分区表数据分布是否均匀?有无特殊的应用场景?有无特殊的优化策略?本篇基于这些问题来进行重点解读。
爱可生开源社区
2022/06/29
1.8K0
直播动不动就几个亿销售额,数据是真的吗?是否有造假的可能?
任何新生的事物在到来之前总会引起争议这也是铁的事实,网络直播最早传播是在色情网站使用的比较多,随着移动互联网的快速发展手机用户大量增多,特别是粉丝经济的快速发展,特别是在电商领域发展速度非常的快速,发展历程已经从传统的电商过度到了社交电商,社交电商主要以拼多多为主要代表,现在随着短视频的发展又带动了直播电商的快速发展,由于疫情的影响很多商品销售都受到了影响,现在不仅仅是自媒体大咖在网络上直播售卖产品,很多科技大咖甚至很多明星都加入到了直播电商的行列来。
程序员互动联盟
2020/07/02
1.8K0
直播动不动就几个亿销售额,数据是真的吗?是否有造假的可能?
HBase 根据表名与列信息与配置信息创建表
private static Configuration configuration=null; static{ configuration= HBaseConfigurati
爱明依
2019/03/12
9340
面试官:你了解Axios的原理吗?有看过它的源码吗?
实现axios.interceptors.response.use和axios.interceptors.request.use
@超人
2021/02/26
3.2K0
面试官:你了解Axios的原理吗?有看过它的源码吗?
多张excel表做连接,就比如1表有A,B,C列,2表有A,B,D列,我想把A,B,C,D合到一张表
前几天在Python铂金群有个叫【水方人子】的粉丝问了一个关于excel处理的问题,这里拿出来给大家分享下,一起学习。
前端皮皮
2022/08/17
3680
多张excel表做连接,就比如1表有A,B,C列,2表有A,B,D列,我想把A,B,C,D合到一张表
如何使用python连接MySQL表的列值?
MySQL 是一个开源关系数据库管理系统,广泛用于存储、管理和组织数据。使用 MySQL 表时,通常需要将多个列值组合成一个字符串以进行报告和分析。Python是一种高级编程语言,提供了多个库,可以连接到MySQL数据库和执行SQL查询。
很酷的站长
2023/08/11
3980
如何使用python连接MySQL表的列值?
【MySQL】分区字段列是否有必要再单独建索引
对于分区字段必须是主键的一部分,那么建了复合主键之后,是否需要对分许字段再单独添加一个索引呢?有没有效果?下面来验证一下
用户5522200
2019/06/02
2.6K0
Excel里的PP可以按列排序,但你知道它的缺陷吗?
在我的文章、书或视频中,均介绍过Excel Power Pivot中的按列排序问题,通过按列排序,可以实现一列数据参照另一列的顺序进行排序,具体可以参考文章《PP-入门前奏:传统透视表无法完成的简单的排序问题》。
大海Power
2021/08/31
1.3K0
POSTGRESQL 创建一个表到底有什么说的? 可说的挺多的
创建一张表,到底有什么说的, 下面是POSTGRESQL 创建数据表的官方文档的内容截图. 那我们就往下看,到底我们可以说点什么
AustinDatabases
2021/07/15
7670
POSTGRESQL 创建一个表到底有什么说的?  可说的挺多的
非分区表是否可以创建分区索引?
有同事问一个问题, 一张非分区表,是否可以创建分区索引? 答案是可以,但分区索引的类型有限制。 MOS这篇文章给出了答案,以及一些例子,What Is The Global Partitioned I
bisal
2019/01/29
1.7K0
使用EXCLE表格,有相同列,取某一列的值
如图,我有两列MAC地址表,然后需要把F列的值取值到D列,可以使用公式:=VLOOKUP(A1,$E$1:$F$44,2,0)进行处理数据。A1代表以哪一列为基础取值参考,$E$1:$F$44代表查找对比范围。
Tacc
2022/01/11
4.4K0
使用EXCLE表格,有相同列,取某一列的值
(a ==1 && a== 2 && a==3) 有可能是 true 吗?
大部分解决方法都是使用toString或者valueOf实现的,主要利用:运算数两边的类型不同时,会进行隐式转换.
用户9914333
2022/07/21
3110
(a ==1 && a== 2 && a==3) 有可能是 true 吗?
国产操作系统有实现弯道超车的可能吗?
国产操作系统采取了成熟的开源操作系统Linux的技术路线,同时也投入了大量研发,从性能上已经较好的实现了追赶,基本达到了好用阶段。
海岛船长加西亚
2022/09/08
1.1K0
使用SQL语句创建表_用sql语句创建员工表
create table 表名 (列1 数据类型 1,列2 数据类型) tablespace 表空间
全栈程序员站长
2022/11/19
4.2K0
使用SQL语句创建表_用sql语句创建员工表
Excel与pandas:使用applymap()创建复杂的计算列
我们之前讨论了如何在pandas中创建计算列,并讲解了一些简单的示例。通过将表达式赋值给一个新列(例如df['new column']=expression),可以在大多数情况下轻松创建计算列。然而,有时我们需要创建相当复杂的计算列,这就是本文要讲解的内容。
fanjy
2022/11/16
4K0
Excel与pandas:使用applymap()创建复杂的计算列
面试突击59:一个表中可以有多个自增列吗?
自增列可使用 auto_increment 来实现,当一个列被标识为 auto_increment 之后,在添加时如果不给此列设置任何值,或给此列设置 NULL 值时,那么它会使用自增的规则来填充此列。
磊哥
2022/06/30
1.9K0
面试突击59:一个表中可以有多个自增列吗?
Python使用SQList判断表是否存
SELECT count(*) FROM sqlite_master WHERE type='table' AND name='tableName';
py3study
2020/01/09
6890
点击加载更多

相似问题

是否有可能修改现有的模板而不是替换它?

11

创建表时,是否可以使用现有表的列类型?

30

可能有一个有可变列的表吗?

33

1列引用,多个表,有可能吗?

16

使用jquery表排序插件--有可能拥有静态列吗?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文