(三)unittest断言方法的介绍
断言如同在测试用例上,类似于预期结果与实际结果是否一致,如果一致则表示测试通过,Assert断言很好的用于测试结果判断上,更灵活的对预期结果和实际结果进行对比,下面简单的介绍一下unittest的Assert断言
unittest中基础的assert断言包括:
方法 | 用法 | 说明 |
---|---|---|
assertEqual(a, b) | a == b | 用来判断a与b相等,如果相等则测试通过 |
assertNotEqual(a, b) | a != b | 用来判断a与b不相等,如果不相等则测试通过 |
assertTrue(x) | bool(x) is True | 用来判断条件是否为真,如果条件为真,测试通过(备注:最好使用assertEqual断言方法,代替) |
assertFalse(x) | bool(x) is False | 用来判断条件是否为假,如果条件为假,测试通过(备注:最好使用assertNotEqual断言方法,代替) |
assertIs(a, b) | a is b | 用来判断a和b是不是同一个对象,如果是,测试通过 |
assertIsNot(a, b) | a is not b | 用来判断a和b是不是同一个对象,如果不是,测试通过 |
assertIsNone(x) | x is None | 用来判断a是否空,如果为空,测试通过 |
assertIsNotNone(x) | x is not None | 用来判断a是否空,如果不为空,测试通过 |
assertIn(a, b) | a in b | 用来判断a字符串是否出现在b字符中,如果出现,测试通过 |
assertNotIn(a, b) | a not in b | 用来判断a字符串是否出现在b字符中,如果不出现,测试通过 |
assertIsInstance(a, b) | isinstance(a, b) | 用来判断a是否属于某一个数据类型,如果属于,测试通过 |
assertNotIsInstance(a, b) | not isinstance(a, b) | 用来判断a是否属于某一个数据类型,如果不属于,测试通过 |
# -*- coding:utf-8 -*-
import unittest
class MyAssertTest(unittest.TestCase):
@classmethod
def setUpClass(self):
pass
def setUp(self):
pass
def tearDown(self):
pass
@classmethod
def tearDownClass(self):
pass
def test_assertNotEqual(self):
a = 1
b = 2
self.assertNotEqual(a,b,msg="测试不通过,a是等于b的") #a不等于b是,测试通过
def test_assertTrue(self):
bool=True
self.assertTrue(bool,msg="测试不通过,bool值为假")
def test_assertFalse(self):
bool=False
self.assertFalse(bool,msg="测试不通过,bool值为真")
def test_assertIs(self):
a = [1]
b = a
self.assertIs(a,b,msg="测试不通过,a和b不是同一个obj")
def test_assertNotIs(self):
a = [1]
b = [1]
self.assertIsNot(a,b,msg="测试不通过,a和b是同一个obj")
def test_assertIsNone(self):
a = None
self.assertIsNone(a,msg="测试不通过,a变量不为空")
def test_assertIsNotNone(self):
a = 1
self.assertIsNotNone(a,msg="测试不通过,a变量为空")
def test_assertIn(self):
a = "Hello"
str = 'Hello World'
self.assertIn(a,str,msg="测试不通过,%s字符串不在%s中"%(a,str))
def test_assertNotIn(self):
a = "hello"
str = 'Hello World'
self.assertNotIn(a,str,msg="测试不通过,%s字符串在%s中"%(a,str))
def test_assertIsInstance(self):
a = 1
self.assertIsInstance(a,str,msg="测试不通过,%s不是%s类型,%s是%s类型"%(a,str,a,type(a)))
def test_assertIsNotInstance(self):
a = 1
self.assertNotIsInstance(a,str,msg="测试不通过")
(三)unittest断言方法的介绍的更多相关文章
- unittest断言方法的使用
unittest框架的TestCase类提供以下方法用于测试结果的判断 方法 检查 版本 assertEqual(a, b) a ==b assertNotEqual(a, b) a !=b ...
- unittest框架里的常用断言方法:用于检查数据
1.unittest框架里的常用断言方法:用于检查数据. (1)assertEqual(x,y) 检查两个参数类型相同并且值相等.(2)assertTrue(x) 检查唯一的参数值等于True(3)a ...
- unittest常用的断言方法
unittest常用的断言方法 #msg:判断不成立时需要反馈的字符串 assertEqual(self, first, second, msg=None) --判断两个参数相等:first == s ...
- 测试教程网.unittest教程.7. 各种断言方法
From: http://www.testclass.net/pyunit/assert/ 背景 unittest支持各种断言方法. 断言列表 官方文档 方法 检查点 assertEqual(a, b ...
- unittest 单元测试框架断言方法
unittest单元测试框架的TestCase类下,测试结果断言方法:Assertion methods 方法 检查 版本 assertEqual(a, b) a == b assertNotEqu ...
- Selenium实战(四)——unittest单元测试2(断言方法+discover()多测试用例的执行)
一.断言方法 方法 检查 版本 assertEqual(a,b) a==b assertNotEqual(a,b) a!=b assertTrue(x) bool(x) is True a ...
- python接口自动化(二十三)--unittest断言——上(详解)
简介 在测试用例中,执行完测试用例后,最后一步是判断测试结果是 pass 还是 fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言(assert).用 unittest 组件测试用例的时 ...
- Python单元测试框架unittest使用方法讲解
这篇文章主要介绍了Python单元测试框架unittest使用方法讲解,本文讲解了unittest概述.命令行接口.测试案例自动搜索.创建测试代码.构建测试套件方法等内容,需要的朋友可以参考下 概 ...
- Selenium 2自动化测试实战28(断言方法)
一.断言方法 执行用例的过程中,最终用例是否执行通过,是通过判断测试得到的实例结果与预期结果是否相等决定的.unittest框架的TestCase类提供下面这些方法用于测试结果的判断. -assert ...
随机推荐
- oracle函数 round(x[,y])
[功能]返回四舍五入后的值 [参数]x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则四舍五入为y位小数,如果y小于0则四舍五入到小数点向左第y位. [返回]数字 [示例] se ...
- @NOI模拟2017.07.02 - T1@ Attack
目录 @description@ @solution@ @accepted code@ @details@ @description@ 『新的风暴已经出现,怎么能够停滞不前』--你决定去攻击小怪兽的巢 ...
- 【CSS3】使用CSS3制作全屏切换效果
在线演示: DEMO DEMO中及以下代码并没有写兼容代码,请使用高级浏览器打开,IE版本对CSS3支持并不太友好,IE11打开没有滚屏效果. 兼容代码前缀: -webkit- -moz- -o- - ...
- Python--day69--ORM多对多查询
ManyToManyField class RelatedManager "关联管理器"是在一对多或者多对多的关联上下文中使用的管理器. 它存在于下面两种情况: 外键关系的反向查询 ...
- iptables [-t table] 指定规则表
-t 参数用来,内建的规则表有三个,分别是:nat.mangle 和 filter,当未指定规则表时,则一律视为是 filter.个规则表的功能如下: nat:此规则表拥有 PREROUTING 和 ...
- 什么是redis
什么是redis 1.Redis是远程的 有客户端和服务端,客户端和服务端可以布置在不同的机器上,两者经过redis自定义的协议远程传输和交互的,我们一般说的是服务端. 2.Redis是基于内存的 所 ...
- H3C NAPT
- [转]Android自定义控件:进度条的四种实现方式(Progress Wheel的解析)
最近一直在学习自定义控件,搜了许多大牛们Blog里分享的小教程,也上GitHub找了一些类似的控件进行学习.发现读起来都不太好懂,就想写这么一篇东西作为学习笔记吧. 一.控件介绍: 进度条在App中非 ...
- HDU 1828“Picture”(线段树+扫描线求矩形周长并)
传送门 •参考资料 [1]:算法总结:[线段树+扫描线]&矩形覆盖求面积/周长问题(HDU 1542/HDU 1828) •题意 给你 n 个矩形,求矩形并的周长: •题解1(两次扫描线) 周 ...
- 【ts】 VSCode自动编译TypeScript终端报错
一.点击终端--运行任务--选择tsc:监视 - tsconfig.json后,终端报出了如下错误:error TS5058: The specified path does not exist 在网 ...