python+selenium+unittest测试框架1-unittest单元测试框架和断言_diaoqiaohai5121的博客-程序员信息网

技术标签: python  测试  

 unittest单元测试框架和断言

 

一、unittest单元测试框架简介

1、导入unittest模块

import unittest

2、定义测试类

class Login(unittest.TestCase):

3、前置条件

    def setUp(self):
        u'''没有前置条件可以写pass'''
        pass

4、测试case加断言

    def test01(self): #测试用例必须以test开头
        print("执行测试用例01") result = '1' self.assertTrue(result) #断言result是不是True

5、后置条件

    def tearDown(self):
        u'''没有后置条件可以写pass'''
        pass

6、运行主函数

if __name__ == '__main__': unittest.main()

示例:

复制代码
#导入unittest模块
import unittest

class Login(unittest.TestCase): def setUp(self): u'''没有前置条件可以写pass''' pass def test01(self): #测试用例必须以test开头 print("执行测试用例01") result = '1' self.assertTrue(result) #断言result是不是True def tearDown(self): u'''没有后置条件可以写pass''' pass if __name__ == '__main__': unittest.main()
复制代码

 

二、断言

unittest常用的断言方法

1、assertEqual(self, first, second,msg=None)

    def test02(self):#判断两个参数是否相等
        print("执行测试用例02") result1 = '1' result2 = '2' self.assertEqual(result1,result2,msg="%s不等于%s"%(result1,result2))

2、assertNotEqual(self, first, second,msg=None)

    def test03(self):#判断两个参数是否不相等
        print("执行测试用例03") result1 = '1' result2 = '2' self.assertNotEqual(result1,result2,msg="%s等于%s"%(result1,result2))

3、assertIn(self, member, container,msg=None)

    def test04(self):#判断一个参数是否包含另一个参数
        print("执行测试用例04") result1 = '1' result2 = '21' self.assertIn(result1,result2,msg="%s不包含%s"%(result2,result1))

4、assertNotIn(self, member,container, msg=None)

    def test05(self):#判断一个参数是否不包含另一个参数
        print("执行测试用例05") result1 = '1' result2 = '2' self.assertNotIn(result1,result2,msg="%s包含%s"%(result2,result1))

5、assertTrue(self, expr, msg=None)

    def test06(self): #测试一个参数是否为真
        print("执行测试用例06") result = '' self.assertTrue(result,msg="%s不是True"%result) 

6、assertFalse(self, expr, msg=None)

    def test07(self):#判断一个参数是否不包含另一个参数
        print("执行测试用例07") result = '' self.assertFalse(result,msg="%s不是False"%(result))

7、assertIsNone(self, obj, msg=None)

    def test08(self):#判断一个参数是否不包含另一个参数
        print("执行测试用例08") result = None self.assertIsNone(result,msg="%s不是None"%(result))

8、assertIsNotNone(self, obj,msg=None)

    def test09(self):#判断一个参数是否不包含另一个参数
        print("执行测试用例09") result = '123' self.assertIsNotNone(result,msg="%s是None"%(result))

示例:

复制代码
#导入unittest模块
import unittest

class Login(unittest.TestCase): def setUp(self): u'''没有前置条件可以写pass''' print("开始执行") # pass def test01(self): #测试用例必须以test开头 print("执行测试用例01") result = '1' self.assertTrue(result) #断言result是不是True def test02(self):#判断两个参数是否相等 print("执行测试用例02") result1 = '1' result2 = '1' self.assertEqual(result1,result2,msg="%s不等于%s"%(result1,result2)) def test03(self):#判断两个参数是否不相等 print("执行测试用例03") result1 = '1' result2 = '2' self.assertNotEqual(result1,result2,msg="%s等于%s"%(result1,result2)) def test04(self):#判断一个参数是否包含另一个参数 print("执行测试用例04") result1 = '1' result2 = '21' self.assertIn(result1,result2,msg="%s不包含%s"%(result2,result1)) def test05(self):#判断一个参数是否不包含另一个参数 print("执行测试用例05") result1 = '1' result2 = '2' self.assertNotIn(result1,result2,msg="%s包含%s"%(result2,result1)) def test06(self): #测试一个参数是否为真 print("执行测试用例06") result = '1' self.assertTrue(result,msg="%s不是True"%result) def test07(self):#判断一个参数是否不包含另一个参数 print("执行测试用例07") result = '' self.assertFalse(result,msg="%s不是False"%(result)) def test08(self):#判断一个参数是否不包含另一个参数 print("执行测试用例08") result = None self.assertIsNone(result,msg="%s不是None"%(result)) def test09(self):#判断一个参数是否不包含另一个参数 print("执行测试用例09") result = '123' self.assertIsNotNone(result,msg="%s是None"%(result)) def tearDown(self): u'''没有后置条件可以写pass''' print("结束...") # pass if __name__ == '__main__': unittest.main()
复制代码

PS:unittest的执行顺序,先执行setUp,然后执行测试用例test*(测试用例是按照名称顺序执行),最后执行tearDown。

转载于:https://www.cnblogs.com/txx403341512/p/9353823.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/diaoqiaohai5121/article/details/101209670

智能推荐

linux学习笔记(兄弟连)day9.14_JAVA秃的博客-程序员信息网

Linux系统简介目录Linux系统简介一.UNIX与Linux发展史1.1UNIX发展史1.2UNIX主要发行版本1.3Linux发展史1.4linux发行版本二.开源软件简介2.1 开源软件的特点2.2支撑互联网的开源技术三.Linux应用领域3.1基于Linux的企业服务器3.2嵌入式应用3.3Linux在电影娱乐业四.Linux学习方法4.1为什么用命令行4.2解决问题的智慧一.UNIX与Linux发展史1.1UNIX发..

bzoj4552 [HEOI2016/TJOI2016]排序(二分+线段树)_overcastt的博客-程序员信息网

题解哇二分..真厉害! 每次二分一个数,然后把小于x的数当做0,大于的当做1 然后对于每一段,想把它排好序,也就是把1和0排好序,也就是把部分改成1、部分改成0。而这一段里面有几个1就可以区间和解决了。 即如果已经求出这段有cnt个1,升序操作[l,r-cnt]=0,[r-cnt+1,r]=1;降序操作[l,l+cnt-1]=1,[l-cnt,r]=0代码#include &...

安装mysql8.0.11版本,并使用mybatis进行连接mysql遇到的问题_张维鹏的博客-程序员信息网

之前使用mysql的版本是5.1.32,今天重新安装了mysql的最先版本8.0.11,安装过程出现了一些问题,

Redis哨兵机制_lxw1844912514的博客-程序员信息网

点击上方“ 码农编程进阶笔记 ”,选择“置顶或者星标”文末有干货,每天定时与您相约!如果master异常,则会进行master-slave切换,将其中一个slave作为master,将之...

武汉工程大学计算机科学与工程学院调剂公告,武汉工程大学计算机科学与工程学院2017年考研复试安排..._余曉波的博客-程序员信息网

武汉工程大学计算机科学与工程学院2017年考研复试安排本站小编 免费考研网/2017-07-23武汉工程大学计算机科学与工程学院(以下简称:“本院”)2017年硕士研究生复试工作将于2017年3月18日——2017年3月20日进行,具体安排如下:1、 本院负责计算机科学与技术、软件工程、计算机应用技术(理学)、模式识别与智能系统、导航、制导与控制、计算机技术等专业的复试工作。2、 下载并填写填写《...

使用Floyd-Warshall算法求出两点之间的最短路径_wb175208的博客-程序员信息网

求出下面任意两个点之间的最短路径:如何才能求出两点之间的最短路径呢?大家都知道学几何的时候,有一条定理就是:两点之间线段最短。但是在实际情况中,我往往两点之间没有之间的通路而是一些曲折的线路。上面已经给出了两点之间的线路路径,不能再通过两点时间的路径来计算他们最短路径了,根据以往的经验要想让两点之间的路程变短,只能引入第三个点,通过第三个点的中转才能缩短两点之间的路径。通过上图可知由4-&...

随便推点

如何用maven 手动把本地jar安装到本地仓库和将本地项目打包并安装到本地资源仓库_vampire2777的博客-程序员信息网

1.命令打包mvn install:install-file -DgroupId=com.unionpay -DartifactId=mcm -Dversion=1.0 -Dfile=D:\360安全浏览器下载\中国银联小微商户资金服务接口的对外接口需求\McmServiceResWsClient-0.9.0.jar -Dpackaging=jar2.maven使用<dependency>

Java - java虚拟机概述、jre, jdk, jvm的区别_guaw007的博客-程序员信息网

Java虚拟机概述 Java推出时,提出了 &quot;Write Once,Run Anywhere&quot; 的口号,能达到跨平台运行代码这件事,就必须归功于java虚拟机 (Java Virtual Machine)的功劳了 传统C/C++是直接把程序员写的.c/.cpp代码,编译成那个平台(ex: Windows)能看懂的machine code,所以当编译一次之后,生成出来的这...

对JsonArray根据JsonObject中的某一字段排序_程序员阿文的博客-程序员信息网_jsonarray根据字段排序

方式一:Collections.sort(list, new Comparator() {})List&lt;JSONObject&gt; list = JSONArray.parseArray(resultArrays.toJSONString(), JSONObject.class);Collections.sort(list, new Comparator&lt;JSONObject&gt;() { //排序字段 private final String FIELD_NAME =

DirectX10安装路径自动生成DXSDK_DIR_weixin_30709929的博客-程序员信息网

DXSDK_DIRC:\Program Files (x86)\Microsoft DirectX SDK (February 2010)\转载于:https://www.cnblogs.com/wainiwann/p/9482970.html

ubuntu18.04无软件源导致安装失败_晓文……的博客-程序员信息网

仓库 “http://ppa.launchpad.net/xxx/xx/ubuntubionic Release” 没有 Release 文件 修改/etc/apt/sources.list.d/xxx-bionic.list文件,将bionic(18.04版本代号)改成xenial(16.04版本代号) sudo apt-get update &amp;&amp; apt-ge...

matlab 沙丁,基于三维空间关于海豚围捕沙丁鱼群的运动规律_187107的博客-程序员信息网

1. 引言1.1. 问题的产生沙丁鱼以聚成大群的方式来对抗海豚的捕食。由于水下光线很暗,所以在距离较远时,海豚只能使用回声定位方法来判断鱼群的整体位置,难以分辨每个个体。鱼群的行动是有协调性的,在没有外部威胁或障碍物时,鱼群常常会聚成接近球形的形态。而当海豚接触甚至冲进鱼群,鱼群则会进行协同的躲避,所以不易在大鱼群中追踪一个目标。沙丁鱼的这种群体行为降低了其被海豚捕食的概率。问题一:建立合理的数学...

推荐文章

热门文章

相关标签