3秒钟unittest入门使用
一:unittest跑起来
unittest使用,具体使用方式可以查看unittest官网,以下简单做个介绍,在工作中使用最多的
#
第一步:
创建unittest类,且一定要继承unittest.TestCase
class MytestDemo(unittest.TestCase):
第二步:
创建你要运行的方法,且一定是用test开头,unittest是检测test开头就会认为有运行方法,如果不用test开头就不用
def test_show(): print(运行成功)
第三步:
运行,使用main入口
if __name__ == '__main__': unittest.main()
好了至此,你就已经是使用unittest框架了
但是这样其实在工作中不能满足我们,我们在执行测试方法前都会做一些前置条件,依赖于unittest中的几个方法
二、增加初始化的方法,
在类中,添加,setUp (前置方法,每次运行方法时就会运行),tearDown(运行完后的后置处理,每个方法运行时就会运行)setUpClass(第一次运行类时,开始运行)
#coding=utf-8
import unittest
import requests class MytestDemo(unittest.TestCase):
'''
http: // www.kuaidi100.com / query?type = 快递公司代号 & postid = 快递单号
测试用例
ps:快递公司编码:申通 = "shentong"
EMS = "ems"
顺丰 = "shunfeng"
圆通 = "yuantong"
中通 = "zhongtong"
韵达 = "yunda"
天天 = "tiantian"
汇通 = "huitongkuaidi"
全峰 = "quanfengkuaidi"
德邦 = "debangwuliu"
宅急送 = "zhaijisong"
number=1
'''
@classmethod
def setUpClass(cls):
print("第一次运行类时调用") def setUp(self):
self.url = "http://www.kuaidi100.com/query"
self.headers1 = { 'Connection': 'keep-alive'} def tearDown(self):
print("后面收尾") def test_yuantong(self):
url=self.url+"?type=yuantong&postid=11111111111"
result=requests.get(url=url,headers=self.headers1)
print(result.url)
print(result.text) def test_tiantian(self):
data = "type=tiantian&postid=11111111111"
result = requests.get(url=self.url, params=data,headers=self.headers1 )
print("************")
print(result.url)
print(result.text)
if __name__ == '__main__':
unittest.main()
我使用了两个方法,一个圆通,一个天天,self.url就是获取在setUp中的url,显示内容:
三、运行
3.1 单个类运行
在类的方法旁边,使用运行,运行单个方法
3.2: 整体运行
在main中运行,
在运行方式中,unittest.main(),还有几种方式表示
使用unittest.TestSuite()集合方式运行,这种方式可以在单个类中运行,也可以在运行多个文件
if __name__ == '__main__':
#unittest.main()
suite = unittest.TestSuite()
suite1 = unittest.TestLoader().loadTestsFromTestCase(MytestDemo)
# 增加文件
suite.addTest(suite1)
unittest.TextTestRunner().run(suite1)
针对TestLoader运行方式有几种,类名,文件名,运行方法名,后续在写一篇
3秒钟unittest入门使用的更多相关文章
- 18年selenium3+python3+unittest自动化测试教程(下)
第六章 自动化测试进阶实战篇幅 1.自动化测试实战进阶之网页单选性别资料实战 简介:讲解使用selenium修改input输入框和单选框 2.自动化测试之页面常见弹窗处理 简介:讲解使用seleniu ...
- 『心善渊』Selenium3.0基础 — 25、unittest单元测试框架
目录 1.unittest基本简介 2.unittest基本概念 (1)unittest核心的四个概念 (2)如何创建一个测试类 (3)test fixture常用的四个方法 (4)unittest编 ...
- selenium+python+unittest实现自动化测试(入门篇)
本文主要讲解关于selenium自动化测试框架的入门知识点,教大家如何搭建selenium自动化测试环境,如何用selenium+python+unittest实现web页面的自动化测试,先来看看se ...
- Python unittest第一篇:基础入门+命令行编译
unittest单元测试框架最初受JUnit启发,与其他语言的主要单元测试框架具有相似的风格. 它支持测试自动化,支持开启或关闭某个测试,支持结合测试.另外它可以生成各个单元测试的报告.为了实现以上功 ...
- python unittest 快速入门
import unittest def add(x, y): return x + y class TestLearning(unittest.TestCase): def setUp(self): ...
- Python中的单元测试模块Unittest快速入门
前言 为什么需要单元测试? 如果没有单元测试,我们会遇到这种情况:已有的健康运行的代码在经过改动之后,我们无法得知改动之后是否引入了Bug.如果有单元测试的话,只要单元测试全部通过,我们就可以保证没有 ...
- python + selenium + unittest 自动化测试框架 -- 入门篇
. 预置条件: 1. python已安装 2. pycharm已安装 3. selenium已安装 4. chrome.driver 驱动已下载 二.工程建立 1. New Project:建立自己的 ...
- unittest单元测试框架入门及应用
一.简介 unittest是Python单元测试框架.unittest它支持自动化测试,在测试中使用setup(初始化)和shutdown(关闭销毁)操作,组织测试 用例为套件(批量运行),以及把测试 ...
- django1.11入门
快速安装指南¶ 在使用Django之前,您需要安装它.我们有 完整的安装指南,涵盖所有可能性; 本指南将指导您进行简单,最小化的安装,在您完成介绍时可以正常工作. 安装Python¶ 作为一个Pyth ...
随机推荐
- 基于Docker容器使用NVIDIA-GPU训练神经网络
一,nvidia K80驱动安装 1, 查看服务器上的Nvidia(英伟达)显卡信息,命令lspci |grep NVIDIA 05:00.0 3D controller: NVIDIA Corpo ...
- new 的对象如何不分配在堆而分配在栈上(方法逃逸等)
当能够明确对象不会发生逃逸时,就可以对这个对象做一个优化,不将其分配到堆上,而是直接分配到栈上,这样在方法结束时,这个对象就会随着方法的出栈而销毁,这样就可以减少垃圾回收的压力. 如方法逃逸. 逃逸分 ...
- Centos 6.5出现yum安装慢的情况
最近在用Centos 6.5 的时候出现了这种情况, Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirro ...
- js的一个有意思的小题,闭包解决getElementByTagName的for循环绑定事件错误问题
问: i 会输出什么?改写成闭包的写法? <a href="javaScript:void(0)">a</a> <a href="javaS ...
- SQL SERVER错误:已超过了锁请求超时时段。
问题:远程连接数据库,无法打开视图,报错:SQL SERVER错误:已超过了锁请求超时时段. (Microsoft SQL Server,错误: 1222) 执行语句获取进程id select * f ...
- 内部cms系统测试
转载至51testing:http://www.51testing.com/html/34/n-4463534.html 内部系统的功能以及如何测试 前文有提到,我定义的内部系统,是一个由目前主流语言 ...
- LeetCode 1000. Minimum Cost to Merge Stones
原题链接在这里:https://leetcode.com/problems/minimum-cost-to-merge-stones/ 题目: There are N piles of stones ...
- WinDbg常用命令系列---!envvar
!envvar 简介 !envvar扩展命令显示特定环境变量的值. 使用形式 !envvar Variable 参数 Variable指定显示其值的环境变量.变量不区分大小写. 环境 Windows ...
- WinDbg常用命令系列---显示局部变量dv
dv (Display Local Variables) dv命令显示当前作用域中所有局部变量的名称和值. dv [Flags] [Pattern] 参数: Flags显示其他信息.可以包括以下任何区 ...
- BCB6 如何跨工程(Project)进行源码级调试
如何跨工程(Project)进行源码级调试 在日常工作中,如何跨工程(Project)进行源码级调试这是个无法回避的问题.例如:一个应用程序工程为“prj_A”,一个动态库工程为“prj_B”,“pr ...