python单元测试

 

 单元测试实例:

 测试用代码块

class Demo():
    def jiafa(self,a,b):
        c=a+b
        return c
    def jianfa(self,a,b):
        c=a-b
        return c
    def chengfa(self,a,b):
        c=a*b
        return c
    def chufa(self,a,b):
        c=a/b
        return c

 xml数据

<?xml version="1.0" encoding="utf-8" ?>
<cell1>
    <A>
        <noa>2</noa>
        <nob>3</nob>
        <noc>5</noc>
    </A>
    <A>
        <noa>5</noa>
        <nob>2</nob>
        <noc>3</noc>
    </A>
    <A>
        <noa>2</noa>
        <nob>2</nob>
        <noc>4</noc>
    </A>
    <A>
        <noa>6</noa>
        <nob>2</nob>
        <noc>3</noc>
    </A>
</cell1>

读取xml文件数据代码块

from xml.dom import minidom
class Mode():
    def getxml(self,onelev,twolev,n):
        root=minidom.parse("../data/dataxml.xml")
        firstnode=root.getElementsByTagName(onelev)[n]
        secendnode=firstnode.getElementsByTagName(twolev)[0].firstChild.data
        return secendnode

xml单元测试模块

import unittest
from demo.rd01 import Demo
from readdata.Getxml import Mode
d=Demo()
m=Mode()
a1=m.getxml("A","noa",0)
a2=m.getxml("A","nob",0)
a3=m.getxml("A","noc",0)
a4=m.getxml("A","noa",1)
a5=m.getxml("A","nob",1)
a6=m.getxml("A","noc",1)
a7=m.getxml("A","noa",2)
a8=m.getxml("A","nob",2)
a9=m.getxml("A","noc",2)
a10=m.getxml("A","noa",3)
a11=m.getxml("A","nob",3)
a12=m.getxml("A","noc",3)
class Untest1(unittest.TestCase):
    @classmethod
    def setUpClass(cls) -> None:
        print("no.1")
    def setUp(self) -> None:
        print("setup")
    def test_01(self):
        self.assertEqual(int(a3),d.jiafa(int(a1),int(a2)))
    def test_02(self):
        self.assertEqual(int(a6),d.jianfa(int(a4),int(a5)))
    def test_03(self):
        self.assertEqual(int(a9),d.chengfa(int(a7),int(a8)))
    def test_04(self):
        self.assertEqual(int(a12), d.chufa(int(a10), int(a11)))
    @classmethod
    def tearDownClass(cls) -> None:
        print("no.2")
    def tearDown(self) -> None:
        print("teardown")
if __name__ == '__main__':
    unittest.main()

xml文件单元测试报告生成

from test08.a0824 import Untest1
from common.HTMLTestRunner import HTMLTestRunner
import unittest
class Mak_ep():
    def ex_rep(self):
        suit=unittest.TestSuite()
        lists = ["test_01", "test_02", "test_03","test_04"]
        for i in lists:
            suit.addTest(Untest1(i))
        with open("../report.html","wb")as f :
            HTMLTestRunner(stream=f,title="no.1",description="one",verbosity=2).run(suit)
t=Mak_ep()
t.ex_rep()

测试报告

 csv数据

1,2,3
9,4,5
2,3,6
9,3,3

读取csv文件数据代码块

import csv
class GetCsv():
    def getcsv(self):
        lis=[]
        c=csv.reader(open("../data/datacsv.csv"))
        for i in c:
            lis.append(i)
        return lis

csv单元测试模块

from demo.rd01 import Demo
from readdata.Getcsv import GetCsv

import unittest
d=Demo()
g=GetCsv()
g.getcsv()
r=g.getcsv()[0]
r1=g.getcsv()[1]
r2=g.getcsv()[2]
r3=g.getcsv()[3]
class UnTest1(unittest.TestCase):
    def setUp(self) -> None:
        print("redeay")
    def test_01(self):
        self.assertEqual(int(r[2]),d.jiafa(int(r[0]),int(r[1])))
    def test_02(self):
        self.assertEqual(int(r1[2]),d.jianfa(int(r1[0]),int(r1[1])))
    def test_03(self):
        self.assertEqual(int(r2[2]),d.chengfa(int(r2[0]),int(r2[1])))
    def test_04(self):
        self.assertEqual(int(r3[2]),d.chufa(int(r3[0]),int(r3[1])))
    def tearDown(self) -> None:
        print("end off")
if __name__ == '__main__':
    unittest.main()

csv文件单元测试报告生成

from test08.a08241 import UnTest1               #导入测试用例模块
from common.HTMLTestRunner import HTMLTestRunner#导入测试报告模块(第三方模块)
import unittest                                 #导入单元测试模块
class Mak_ep():                                 #设置类处理测试用例
    def ex_rep(self):
        suite=unittest.TestSuite()              #测试套件
        lis=["test_01","test_02","test_03","test_04"]
        for i in lis:
            suite.addTest(UnTest1(i))
        with open("../report1.html","wb") as f: #新建文件,设置接受点f并打印生成报告
            HTMLTestRunner( stream=f, title="单元测试", description="测试一期", verbosity=2 ).run(suite)
t=Mak_ep()                                      #实例化类
t.ex_rep()                                      #调用类方法

 测试报告

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值