27-unittest之断言(assert)

2024-06-07 06:20
文章标签 27 断言 unittest assert

本文主要是介绍27-unittest之断言(assert),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        在测试方法中需要判断结果是pass还是fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言(assert)。

        使用unittest测试框架时,有很多的断言方法,下面介绍几种常用的断言方法:assertEqual、assertIn、assertTrue。

一、测试代码

import unittestclass Test(unittest.TestCase):# 判断 a == bdef test01(self):a = 1b = 1self.assertEqual(a, b)# 判断 a in bdef test02(self):a = "hello"b = "hello world!"self.assertIn(a, b)# 判断 a is Truedef test03(self):a = Trueself.assertTrue(a)# 失败用例def test04(self):a = "张三"b = "李四"self.assertEqual(a, b)if __name__ == "__main__":unittest.main()

二、自定义报错信息

1)分析assertEqual断言方法

assertEqual(self, first, second, msg=None)Fail if the two objects are unequal as determined by the '==' operator.# 如果两个对象不相等,就返回失败,相当于return: first == second。

2)该断言方法中除了用于比较的两个参数first和second外,还有第三个参数msg=None,这个msg参数就是在断言失败后,可以自定义报错信息。

import unittestclass Demo(unittest.TestCase):def test01(self):a = 'zhangsan'b = 'lisi'self.assertEqual(a, b, "失败原因:{} != {}".format(a, b))if __name__ == '__main__':unittest.main()

三、常用的断言方法

# 判断两个参数是否相等:first == second
assertEqual(self, first, second, msg=None)# 判断两个参数是否不相等:first != second
assertNotEqual(self, first, second, msg=None)# 判断字符串member是否包含在字符串container中
assertIn(self, member, container, msg=None)# 判断字符串member是否不包含在字符串container中
assertNotIn(self, member, container, msg=None)# 判断是否为真:expr is True
assertTrue(self, expr, msg=None)# 判断是否为假:expr is False
assertFalse(self, expr, msg=None)# 判断是否为None:obj is None
assertIsNone(self, obj, msg=None)# 判断是否不为None:obj is not None
assertIsNotNone(self, obj, msg=None)

这篇关于27-unittest之断言(assert)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1038389

相关文章

树莓派5_opencv笔记27:Opencv录制视频(无声音)

今日继续学习树莓派5 8G:(Raspberry Pi,简称RPi或RasPi)  本人所用树莓派5 装载的系统与版本如下:  版本可用命令 (lsb_release -a) 查询: Opencv 与 python 版本如下: 今天就水一篇文章,用树莓派摄像头,Opencv录制一段视频保存在指定目录... 文章提供测试代码讲解,整体代码贴出、测试效果图 目录 阶段一:录制一段

关于断言的部分用法

1、带变量的断言  systemVerilog assertion 中variable delay的使用,##[variable],带变量的延时(可变延时)_assertion中的延时-CSDN博客 2、until 的使用 systemVerilog assertion 中until的使用_verilog until-CSDN博客 3、throughout的使用   常用于断言和假设中的

C/C++ 中的assert()宏 断言机制

ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。   原型定义: #include <assert.h> void assert( int expre

27. Remove Elements

题目: 解答: 类似题26,注意下删除后的元素的移动方式即可 代码: class Solution {public:int removeElement(vector<int>& nums, int val) {if(nums.empty()) return 0;int len = nums.size();int lenafter = 0, head = 0;for(int i

python+selenium2学习笔记unittest-05测试用例实例

看一下非常简单的目录结构 test_baidu from selenium import webdriverimport unittestimport timeclass MyTest(unittest.TestCase):def setUp(self):self.driver = webdriver.Firefox()self.driver.maximize_window()self

python+selenium2学习笔记unittest-04装饰器skip用法

在运行测试用例时,有时需跳过或判断用例时,可以用装饰器来实现 主要的几个方法就是下面的这几种 import unittestclass test(unittest.TestCase):def setUp(self):pass@unittest.skip('跳过')def test_01(self):print("直接跳过")@unittest.skipIf(3>2,'当条件为TRUE跳过')

python+selenium2学习笔记unittest-03断言

断言的方法网上归纳的很多主要有以下这些 断言语法解释assertEqual(a, b) 判断a==bassertNotEqual(a, b)判断a!=bassertTrue(x)bool(x) is TrueassertFalse(x)bool(x) is FalseassertIs(a, b)a is bassertIsNot(a, b) a is not bassertIsNone(x) x

【VB6|第27期】如何在VB6中使用Shell函数实现同步执行

日期:2024年9月1日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^ 1.01365 = 37.7834;0.99365 = 0.0255 1.02365 = 1377.4083;0.98365 = 0.0006 文

Junit、Assert、内省、Properties类与配置文件的使用

Junit Junit有什么用 可以不写main方法直接对方法进行测试 怎么使用 1、导入junit.jar包 2、加入@Test注释 3、例子如下 import org.junit.Test;public class Demo1 {@Testpublic void fun(){System.out.println("Junit测试");}} 使用规范 一个类如果需要测试,那

日记 01/27/2016.

有机会再看看这个: https://www.zhihu.com/question/27578379 想拿高package,多去拿几个offer再来谈,特别是hot startup的package,往往拿来要挟大公司的HR很好用。 最近在学习Angular JS,自己一定要坚持下来。然后把前端的知识补上。 打算Aug的时候,然后把Princeton的算法课上了,重新充电,然后把