![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
和python 相关
安子-心怀光明
这个作者很懒,什么都没留下…
展开
-
第一个功能测试
创建 test1.py from selenium import webdriver browser = webdriver.Firefox() browser.get('http://localhost:8000') assert 'Django' in browser.title 启动打开一个firefox浏览器窗口’ 做个测试断言 判断标题中是否有个词 Django 结果启动他 ...原创 2019-01-14 14:09:40 · 128 阅读 · 0 评论 -
4.2使用selenium测试用户交互--功能测试编写-selenium查找网页内容的方法+输入框中输入内容的方法+测试驱动首页模板生成
待办事项应用的功能测试编写 用讲故事的方法编写功能测试 from selenium import webdriver import unittest from selenium.webdriver.common.keys import Keys import time class NewVisitorTest(unittest.TestCase): def setUp(self): ...原创 2019-01-16 12:34:30 · 1066 阅读 · 0 评论 -
5.4 代码异味 事不过三 三则重构
检查我们的功能测试代码 中 的代码异味 “检查清单表格中新添加的代码事项用了三个一样 的代码块” 编程中有个原则: 叫做不要自我重复 (事不过三,三则重构) **#coding=utf-8 from selenium import webdriver import unittest from selenium.webdriver.common.keys import Keys import ti...原创 2019-01-18 18:27:54 · 558 阅读 · 0 评论 -
第一弹配置环境-遵从山羊的教诲
跟着作者一步步配置环境虽然自己配过很多次但是还是有收获的 安装Firefox 浏览器 git版本控制系统 懒人安装直接在360下载安装的 windows 中安装需要勾选 Run GIT and included Unix tools from the windows command prompt 和use windows default console 1、安装后打开 git Bash 输入py...原创 2019-01-14 13:43:52 · 105 阅读 · 0 评论 -
一些TDD概念总结
回归: 新添加的代码破坏了应用原本可以正常使用的功能 意外失败: 测试时意外失败了,意味着测试中又错误,或者测试的时候发现了一个回归,因此要在代码中修正 遇红/变绿/重构 TDD 流程的一种描述方式 , 先编写代码测试看他失败(遇红),然后写少量代码让他通过(变绿),最后重构,改进实现方式 三角法: 添加一个测试,专门为现有的某些代码编写用例,以此推断普适 的实现方式 事不过三,三则重构 就是重复...原创 2019-01-21 17:46:01 · 177 阅读 · 0 评论 -
4.6TDD 流程总结
功能测试是应用程序的最终评判,单元测试是开发过程的辅助工具。 总体流程: 编写测试 然后运行看他失败,然后写少量代码,向前迈一小步,再运行,再失败,再编写少量代码向前迈一小步,去测试直到测试通过为止,有可能会重构代码,确保功能不被破坏 TDD总体流程图: 包含功能测试和单元测试的TDD流程 编写功能测试,预期失败,编写少量代码让功能测试通过这一步是一个小型TDD循环:编写一个或多个单...原创 2019-01-16 17:18:23 · 578 阅读 · 0 评论 -
7、前情回顾,目前代码功能
从这一章就要学习 学习关键TDD技术: 使用递增的步进方式修改现有代码,保证代码在修改前后能正常运行。 回顾一下:现在我们的功能达成情况: 可以录入清单,可以查看清单(但是别人的清单也能查看) 1、来回顾目前我们的功能测试代码: function_test.py #coding=utf-8 from selenium import webdriver from django.test import...原创 2019-01-23 18:05:23 · 156 阅读 · 0 评论 -
5.6把POST请求中的数据存入数据库
针对首页POST 请求的测试。 在tests.py 中 断言测试是否把新添加的待办事项存入了数据库 判断是否有1 条数据 第一条数据是不是“A new list item” def test_can_save_a_POST_request(self): response = self.client.post("/", data={'item_text':'A new list i...原创 2019-01-21 17:34:08 · 3984 阅读 · 0 评论 -
isinstance与type 区别 python
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。 isinstance() 与 type() 区别: type() 不会认为子类是一种父类类型,不考虑继承关系。 isinstance() 会认为子类是一种父类类型,考虑继承关系。 如果要判断两个类型是否相同推荐使用 isinstance()。 ...原创 2019-04-04 17:56:22 · 183 阅读 · 0 评论 -
6改进功能测试:确保功能测试的相互隔离
6.1 如何确保功能测试之间相互隔离 运行功能测试之后,会遗留输入的测试数据,影响下次测试效果 运行单元测试,Django 测试程序自动创建全新的测试数据库,运行每个测试之前都会清空数据库,等所有测试完,删除数据库 动能测试目前使用的是应用真正的数据库, 如何让他自动清理呢 djngo 1.4 版本后提供了 LiveServerTestCase 完成这个任务 这个类会自动创建一个测试数据库,并启动...原创 2019-01-21 18:36:37 · 368 阅读 · 2 评论 -
3.4Django单元测试--检查URl是否对应自己期望的视图函数
在django 中创建一个app python manage.py startapp lisa 你会发现在lisa 中 有一个tests.py 这是django 自动生成的用于测试的 编写一个简单的测试,注定失败 我在 博文 https://mp.csdn.net/mdeditor/86490677# 中写过Django 的一些流程 现在跟着测试一下1\能否解析网站根据路径(“/”)的Url 将...原创 2019-01-15 14:10:46 · 387 阅读 · 0 评论 -
3.6 urls.py --测试驱动开发的思想再次理解
1、在3.5 中通过解读调用跟踪发现了错误 是Url 映射有关 Django 是用URl 映射到视图函数上, 有一个主的URls.py文件,内容如下 urL 条目 构成 正则匹配+ 请求地址 现在我们在其中添加 url(r"^$",views.home_page) 结果: 再次测试,这次的错误信息变成了home_page 无法调用 测试驱动开发我们需要写一个函数嘻嘻。 作者他在这里的用...原创 2019-01-15 15:41:13 · 206 阅读 · 0 评论 -
5.1 编写表单发送Post请求
5.1 在上个章节做功能测试时测试指出无法保存用户输入。 解决这个问题 的办法就是:编写表单,发送Post 请求 如何做 1、给Input 添加属性name = 2\放入 标签 添加 属性 post <html> <head> <title>To-Do list</title> </head> &...原创 2019-01-18 18:07:29 · 1070 阅读 · 0 评论 -
unittest 模块扩展功能测试
1、概念性扩展 功能测试 驱动真正的网页从用户角度查看应用 术语: 功能测试=验收测试=端到端测试 (也就是黑箱测试)这种测试对要测试的应用内部一无所知 测试功能可以写一个故事来达到他易读的目的 弄成一个应用需求和功能的方式展示给非程序员看 编写一个类似下面的故事test1 .py #coding=utf-8 from selenium import webdriver browser =...原创 2019-01-14 20:02:09 · 312 阅读 · 0 评论 -
Python 读取写入配置文件 ConfigParser
场景:我们在搭建框架时,需要写一个配置文件 一般命名为config.ini 既然写了这个文件,如何去读取这个文件中我们写入的数据呢 在python 中有个模块 ConfigParser 这个模块就是专门解决这个问题的。 ...原创 2019-06-21 10:38:58 · 142 阅读 · 0 评论 -
Python实现跨文件全局变量的方法(转发)
转自:https://www.cnblogs.com/rnckty/p/7722603.html Python 中 global 关键字可以定义一个变量为全局变量,但是这个仅限于在一个模块(py文件)中调用全局变量,在另外一个py文件 再次使用 global x 也是无法访问到的,因为在这个py模块中并没有一个叫做x的变量,于是就会报错 未定义。 借鉴global 关键字的思路,既然在一个文件...转载 2019-09-12 10:58:06 · 1590 阅读 · 0 评论 -
python 复制文件内容,修改后产生新文件方法
Test.txt内容: vars=“hhhhhh” 参数举例: file_path=bb/cc/Test.txt file_type=".txt" old_str=‘hhhhhh’ new_str=‘eeeeee’ def replace_file_str(file_path,file_type ,old_str, new_str): try: new=“1”+file_type new_file...原创 2019-10-12 18:46:43 · 986 阅读 · 0 评论