2.19作业

单元测试:测试开发的加减乘除函数传递两个参数

class CalcCales():
    def add(self,a,b):   #
        c = a + b
        return c
        print(c)
    def subtract(self,a,b): #
        c = a - b
        return c
        print(c)
    def multiply(self,a,b): #
        c = a * b
        return c
        print(c)
    def divide(self,a,b): #
        c = a / b
        return c
        print(c)
CalcDemo

import unittest
from demo.CalcDemo import CalcCales

c = CalcCales()
e = c.add(1,2)
dd = c.subtract(3,2)
ff = c.multiply(9,9)
qq = c.divide(9,9)

class Testxx(unittest.TestCase):
    def setUp(self):
        print("Start")

    def tearDown(self):
        print("end")

    def test1(self):
        self.assertEqual(e,3)  # 验证比较是否一致
    def test2(self):
        self.assertEqual(dd,1)
    def test3(self):
        self.assertEqual(ff,81)
    def test4(self):
        self.assertEqual(qq,1.0)

if __name__ == '__main__':
    suilt = unittest.main()
    case_list = ["test1","test2","test3","test4"]
    for i in case_list:
        suilt.addTest(Testxx(i))
testaa

通过csv文件和xml文件读取数据进行单元测试并生成html格式的测试报告

import unittest
from test_case.testaa import Testxx
from data.HTMLTestRunner import HTMLTestRunner


class User_html():
    def user(self):
        suite = unittest.TestSuite()
        case_lsit = ["test1"]
        for i in case_lsit:
            suite.addTest(Testxx(i))
        with open("../abc.html","wb") as f:
            HTMLTestRunner(
                stream=f,
                title = "这是单元测试!",
                description="测试加速",
                verbosity=2
            ).run(suite)
ww = User_html()
ww.user()
# if __name__ == '__main__':
#     unittest.main()
testhtml

xml文件读取数据进行单元测试

<note>
    <add>
        <add1>2</add1>
        <add2>4</add2>
        <add3>6</add3>
    </add>
</note>
test11
from xml.dom import minidom


class Xml_data():
    def read_xml(self,path,first,second):
        root = minidom.parse(path)  # 读取本地路劲
        firs = root.getElementsByTagName(first)[0]  # 父节点
        secode = firs.getElementsByTagName(second)[0].firstChild.data # 子节点
        return secode

r = Xml_data()
print(r.read_xml("../data/test11.xml","add","add1"))
readdata
import unittest
from demo.CalcDemo import CalcCales
from readdata.readdata import Xml_data
c = CalcCales()
r = Xml_data()
ss = int(r.read_xml("../data/test11.xml","add","add1"))
sss = int(r.read_xml("../data/test11.xml","add","add2"))
ssss = int(r.read_xml("../data/test11.xml","add","add3"))
# e = c.add(1,2)
# dd = c.subtract(3,2)
# ff = c.multiply(9,9)
# qq = c.divide(9,9)

class Testxx(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print("这是calssmethod的setUpClass方法")
    def setUp(self):
        print("Start")

    def tearDown(self):
        print("end")
    @classmethod
    def tearDownClass(cls):
        print("这是calssmethod的tearDownClass方法")

    # def test1(self):
    #     self.assertEqual(e,3)  # 验证比较是否一致
    def test2(self):
        gg = c.add(ss,sss)
        self.assertEqual(gg,ssss)
    # def test3(self):
    #     self.assertEqual(ff,81)
    # def test4(self):
    #     self.assertEqual(qq,1.0)

if __name__ == '__main__':
    # suilt = unittest.main()
    # case_list = ["test1"]
    # for i in case_list:
    #     suilt.addTest(Testxx(i))
    unittest.main()
testaa

原文地址:https://www.cnblogs.com/tutu95/p/14417695.html