单元测试:测试开发的加减乘除函数传递两个参数
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)
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))
通过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()
xml文件读取数据进行单元测试
<note> <add> <add1>2</add1> <add2>4</add2> <add3>6</add3> </add> </note>
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"))
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()