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 ...
随机推荐
- Altium Designer常用快捷键总结
一.PCB中常用快捷键 ● R+L 输出PCB中所有网络的布线长度 ● Ctrl+左键点击 对正在布的线完成自动布线连接 ● M+G 可更改铜的形状; ● 按P+T在布线状态下,按Shift+A可直接 ...
- 一小部分用python进行MD5加密的小技巧
上个图 要求计算出开头为ae3da且盐值为3c6e的字符串 简单的思路就是直接进行枚举,然后筛选符合条件的MD5加密字符,代码如下 #-*- coding:utf- -*- import hashli ...
- node基础学习——操作文件系统fs
操作文件系统fs 1.在Node.js中,使用fs模块来实现所有有关文件及目录的创建.写入及删除.在fs模块中,所有对文件及目录的操作都可以使用同步与异步两种方法,具有Sync后缀的方法均为同步方法. ...
- Codeforces J. Monotonic Renumeration(组合)
题目描述: You are given an array consisting of nmonotonic renumeration as an array b consisting of \(n\) ...
- steam游戏存档迁移
之前玩的盗版guacamelee等着打折入正,今天入了,不想重新打了,就把存档从盗版迁移了一下. 盗版的目录是F:\Guacamelee\Profile\ALI213\Saves,该目录下又一个SAV ...
- datediff(date1,date2) 函数的使用
版权声明:本文为博主原创文章,未经博主允许不得转载. 在MySQL中可以使用DATEDIFF()函数计算两个日期之间的天数 语法: datediff(date1,date2) 注:date1和date ...
- The Business Of Open Source
http://oss-watch.ac.uk/resources/businessofopensource by Matthew Langham, Indiginox on 3 February 20 ...
- python中的object
继承 object 类的是新式类,不继承 object 类的是经典类,在 Python 2.7 里面新式类和经典类在多继承方面会有差异: class A: def foo(self): print(' ...
- webuploader之大文件分段上传、断点续传
文件夹数据库处理逻辑 public class DbFolder { JSONObject root; public DbFolder() { this.root = new JSONObject() ...
- 非旋转 treap
其实之前学过一次非旋转 treap,但是全忘光了,今天复习一下. 洛谷 P3369 [模板]普通平衡树 code: #include <bits/stdc++.h> #define N 1 ...