python单元测试之unittest

什么是白盒测试,什么是黑盒测试?
 
白盒:主要应用于单元测试阶段,主要是对代码级别的测试,针对程序内部的逻辑结构。测试的手段有:语句
覆盖、判定覆盖、条件覆盖、路径覆盖和条件组合覆盖
黑盒: 不考虑程序内部结构和逻辑结构,主要是测试系统的功能是否满足“需求规格说明书”。一般会有一个
输入值和一个输出值,和期望值做比较。

Unittest重要组成
 
TestFixture
作用:
     用于一个测试环境的准备和销毁还原。
功能: 
     当测试用例每次执行之前需要准备测试环境,每次测试完成后还原测试环境,比如执行前连接数据库、打
开浏览器等,执行完成后需要还原数据库、关闭浏览器等操作。这时候就可以启用testfixture
主要方法:
 
    setUp():准备环境,执行每个测试用例的前置条件;
tearDown():环境还原,执行每个测试用例的后置条件;
setUpClass():必须使用@classmethod装饰器,所有case执行的前置条件,只运行一次;
tearDownClass():必须使用@classmethod装饰器,所有case运行完后只运行一次;

代码:

 
class CalClass(object):
    def add(self,a,b):
        c = a+b
        return c
    def reduct(self,a,b):
        c = a-b
        return c
# c = CalClass()
# print(c.reduct(1,2))
if __name__ == '__main__':
    c = CalClass()
    print(c.reduct(1, 2))

进行测试的代码:

import unittest
class Calc_testcase(unittest.TestCase):
def setUp(self) : #测试用例方法执行前的操作
print("start")
def test1(self): #测试用例
resl = 4
self.assertEqual(resl,5)
def tearDown(self) : #测试用例方法执行后的操作
print("end")
if __name__ =="__main__":
unittest.main() #调用测试用例中以test开头的方法

进行测试开发代码:

 
import unittest
from demo.kaifa import CalClass
c = CalClass()
rr = c.add(2,3)
cc=c.reduct(6,2)
class CalcTestClass(unittest.TestCase):
    def setUp(self) -> None:
        print("我是setUp")
 
    def test01(self):
        self.assertEqual(6,rr)
 
    def test02(self):
        self.assertEqual(4,cc)
 
    def tearDown(self) -> None:
        print("我是tearDown")
 
if __name__ == '__main__':
    unittest.main()

 
import unittest
from demo.kaifa import CalClass
from readdate.readcsv import ReadCsv
r = ReadCsv()
lists = r.read_csv()
c = CalClass()
class CalcTestClass(unittest.TestCase):
    def setUp(self) -> None:
        print("我是setUp")
 
    def test01(self):
        for csv_i in lists:
            add1 = c.add(int(csv_i[0]),int(csv_i[1]))
            self.assertEqual(add1,int(csv_i[2]))
 
    def tearDown(self) -> None:
        print("我是tearDown")
 
if __name__ == '__main__':
    unittest.main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值