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 ...
随机推荐
- Linux CentOs下安装lnmp
1.下载源码包 以root目录为例: cd ~ # 下载安装包 wget http://nginx.org/download/nginx-1.17.2.tar.gz # nginx wget http ...
- centos6.5安装crmsh
CentOS默认没有crmsh的yum源,因此可以借用OpenSUSE的源(OpenSUSE的包也是rpm). 操作步骤很简单首先先进入yum源的安装目录,下载repo配置文件,(返回原工作目录,)执 ...
- 【转】什么时候 i = i + 1 并不等于 i += 1?
增强型赋值语句是经常被使用到的,因为从各种学习渠道中,我们能够得知 i += 1 的效率往往要比 i = i + 1 更高一些(这里以 += 为例,实际上增强型赋值语句不仅限于此). 所以我们会乐此不 ...
- Celery(异步任务,定时任务,周期任务)
1.什么是Celery Celery是基于Python实现的模块,用于异步.定时.周期任务的. 组成结构: 1.用户任务 app 2.管道broker 用于存储任务 官方推荐 redis/rabbit ...
- centos 7 修改密码
linux管理员忘记root密码,需要进行找回操作. 注意事项:本文基于centos7环境进行操作,由于centos的版本是有差异的,继续之前请确定好版本. 操作步骤 一.重启系统,在开机过程中,快速 ...
- 记一次用pip安装docker-compose报错及解决方法
Docker-Compose 的安装 方法一 # 下载1.25.0 docker compose sudo curl -L "https://github.com/docker/compos ...
- Eclipse搭建maven web项目
最近在做做一个小实验,搭建ssm框架,要求使用maven来统一管理jar包,接下来就看如何建立maven项目,首先必须有要有相应的开发环境:JDK和maven,以及配置tomcat. 开发环境搭建可以 ...
- 洛谷 UVA12101 Prime Path 题解
一道经典的BFS 用四个for搜索四位就行了,只要能推出怎么只变4位中的一位就很水了 #include<iostream> #include<cstring> #include ...
- learning java Encoder and Decoder
import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.charset.CharacterCodingExcep ...
- 开源项目 01 HtmlAgilityPack
using HtmlAgilityPack; using System; using System.Collections.Generic; using System.Linq; using Syst ...