python单元测试断言方法_Python单元测试,使用断言进行代码自测试,pythonunittest

本文介绍了Python单元测试中的断言方法,包括assertEqual、assertNotEqual、assertTrue、assertFalse、assertIs、assertNotIs、assertIsNone、assertIsNotNone、assertInstanceOf、assertNotIsInstance、assertRaises和assertCountEqual的使用示例,帮助理解如何进行代码自测试。
摘要由CSDN通过智能技术生成

1.assertEqual和assertNOEqual

import unittest

from test.equation import oneEquation, twoEquation, test1, test2, aa, test3

class TestFkMath(unittest.TestCase): # 继承unittest.TestCase类

def testAssertEqual(self):

self.assertEqual(oneEquation(2, 6), -3, msg='结果不一致')

# oneEquation(2, 6)是需要测试的函数,-3是自己预期的结果,如果测试结果和自己的预期不一致则会提示‘结果不一致’

'''

assertEqual(参数1,参数2,mag='测试不通过时的描'),参数1和参数2值相等,则测试用过

assertNOEqual(参数1,参数2,mag='测试不通过时的描') 参数1和参数2值不相等,则测试用过

'''

2.assertTrue和assertFalse

def testAssertTrue(self):

self.assertTrue(oneEquation(2, 6) == -3, msg='执行结果不为True')

'''

assertTrue(参数1,mag='测试不通过时的描'), 参数1是True通过测试

assertFalse(参数1,mag='测试不通过时的描'), 参数1是False通过测试

'''

3.assertIs和assertNotIs

def testAssertIs(self):

t = '1da'

self.assertIs(test1(), t, msg='对象不一致')

'''

assertIs(参数1,参数2,msg='测试不通过时的描述') id地址一样则测试通过

assertNotIs(参数1,参数2,msg='测试不通过时的描述') id地址不一样则测试通过

为什么使用元组作为test1()返回值的时候assertIs测试是通不过的,有没有大神指教,

test1()不在当前文件,如果在同一文件就能通过,字符串和数字不管是否在同一文件都能通过。

数字和字符串是不是有一个类似公共池的东西,而元组没有这个东西,

'''

4.assertIsNone和assertIsNotNone

def testAssertIsNone(self):

self.assertIsNone(None, msg='对象不为None')

'''

assertIsNone(参数,msg='测试不通过时的描述') 参数为None是测试通过

assertIsNotNone(参数,msg='测试不通过时的描述') 参数不为None时测试通过

'''

5.assertIsInstance

def testAssertIsInstance(self):

self.assertIsInstance(aa(),aa,msg='参数一不是参数二的实例')

'''

assertIsInstance(参数1,参数2,msg='测试不通过时的描述') 参数一是参数二的实例测试通过

assertNotIsInstance(参数1,参数2,msg='测试不通过时的描述') 参数一不是参数二的实例测试通过

'''

6.assertRaises

def testAssertRaises(self):

self.assertRaises(ZeroDivisionError, test3, 3, 0)

# 判断以3,0作为test3的两个参数会出现ZeroDivisionError异常,如果没有异常则不会继续往下执行

with self.assertRaises(ZeroDivisionError): # 判断他下面的代码会有异常出现,如果没有异常则不会继续往下执行

2/0

with self.assertRaises(ValueError): # 判断他下面的代码会有ValueError出现

twoEquation(9, 4, 3)

7.

def testAssertCountEqual(self):

r1, r2 = twoEquation(1, -3, 2)

t = [r1, r2] # [2.0,1.0]

self.assertCountEqual(t, (1.0, 2.0), "求解出错")

# 并没有出现异常,说明只判断列元素是否一致,并不需要数据类型也一样t是列表,(1.0, 2.0)是元组,对元素的位置也没有要求

8.使用 if__name__== "__main__":运行程序

if __name__ == "__main__":

unittest.main()

我的学习代码,已经上传了,有兴趣的可以下载看下

学习代码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值