python断言assertequal_Selenium2+python自动化56-unittest之断言(assert)

本文介绍了使用unittest进行Python自动化测试时的各种断言方法,如assertEqual、assertIn、assertTrue等,并通过示例代码展示其用法。同时,文章提到了断言失败时如何自定义错误信息,以及unittest提供的所有断言方法列表。
摘要由CSDN通过智能技术生成

前言

在测试用例中,执行完测试用例后,最后一步是判断测试结果是pass还是fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言(assert)。

用unittest组件测试用例的时候,断言的方法还是很多的,下面介绍几种常用的断言方法:assertEqual、assertIn、assertTrue

(购买此书送对应PDF版本)

一、简单案例

1.下面写了4个case,其中第四个是执行失败的

# coding:utf-8

import unittest

class Test(unittest.TestCase):

def test01(self):

'''判断 a == b '''

a = 1

b = 1

self.assertEqual(a, b)

def test02(self):

'''判断 a in b '''

a = "hello"

b = "hello world!"

self.assertIn(a, b)

def test03(self):

'''判断 a is True '''

a = True

self.assertTrue(a)

def test04(self):

'''失败案例'''

a = "上海-悠悠"

b = "yoyo"

self.assertEqual(a, b)

if __name__ == "__main__":

unittest.main()

2.执行结果如下

Failure

Expected :'\xe4\xb8\x8a\xe6\xb5\xb7-\xe6\x82\xa0\xe6\x82\xa0'

Actual   :'yoyo'

Traceback (most recent call last):

File "D:\test\yoyotest\kecheng\test12.py", line 27, in test04

self.assertEqual(a, b)

AssertionError: '\xe4\xb8\x8a\xe6\xb5\xb7-\xe6\x82\xa0\xe6\x82\xa0' != 'yoyo'

3.执行的结果,中文编码不对,没正常显示中文,遇到这种情况,可以自定义异常输出

二、自定义异常

1.以assertEqual为例分析:

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

Fail if the two objects are unequal as determined by the '=='

operator.

2.翻译:如果两个对象不能相等,就返回失败,相当于return: first==second

3.这里除了相比较的两个参数first和second,还有第三个参数msg=None,这个msg参数就是遇到异常后自定义输出信息

三、unittest常用的断言方法

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

--判断两个参数相等:first == second

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

--判断两个参数不相等:first != second

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

--判断是字符串是否包含:member in container

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

--判断是字符串是否不包含:member not in container

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

--判断是否为真:expr is True

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

--判断是否为假:expr is False

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

--判断是否为None:obj is None

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

--判断是否不为None:obj is not None

四、unittest所有断言方法

1.下面是unittest框架支持的所有断言方法,有兴趣的同学可以慢慢看。

|  assertAlmostEqual(self, first, second, places=None, msg=None, delta=None)

|      Fail if the two objects are unequal as determined by their

|      difference rounded to the given number of decimal places

|      (default 7) and comparing to zero, or by comparing that the

|      between the two objects is more than the given delta.

|

|      Note that decimal places (from zero) are us

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值