在开发里面书写开发编码
第一种方式 xml
class Kf (object):
def add(self,a,b):
c = a + b
return c
def reduct(self,a,b):
c = a - b
return c
def cheng(self,a,b):
c = a * b
return c
def chu(self,a,b):
c = a / b
return c
k = Kf()
print(k.chu(10,5))
首先要在data包添加数据
<geng>
<add>
<add1>2</add1>
<add2>3</add2>
<add3>5</add3>
</add>
<reduct>
<reduct1>10</reduct1>
<reduct2>3</reduct2>
<reduct3>7</reduct3>
</reduct>
<cheng>
<cheng1>2</cheng1>
<cheng2>3</cheng2>
<cheng3>6</cheng3>
</cheng>
<chu>
<chu1>10</chu1>
<chu2>5</chu2>
<chu3>2</chu3>
</chu>
</geng>
#设置数据
在dataread包里面进行读取数据
from xml.dom import minidom #导入自带的
class Readxml(): #定义一个读取xml的方法
def read_xml(self,filename,onename,twoname): #传入三个参数 filename文件名字 onename,twoname第一个第二个数据
root =minidom.parse(filename) #获取文件的名字
firstnode =root.getElementsByTagName(onename)[0] #用文件名字进行获取 里面的第一标签
secondnode=firstnode.getElementsByTagName(twoname)[0].firstChild.data #然后用第一个标签去获取标签里面的数据
return secondnode #返回结果
#创建实例化对象
r = Readxml()
#传入参数 第一个路径 第二个是获取的标签 第三个获取标签里面的内容
r.read_xml("../data/testxml.xml","add","add1")
# print(r.read_xml("../data/testxml.xml","add","add1"))
在test测试报里面进行测试数据
import unittest
#首先要导入开发里面的类名进行测试
from ceshi.android import Kf #导入开发的
from readdata.readxml import Readxml #导入读取文件的xml
k = Kf()
r = Readxml()
#相加进行获取标签和子标签
jia1 = r.read_xml("../data/testxml.xml","add","add1")
jia2 = r.read_xml("../data/testxml.xml","add","add2")
jia3 = r.read_xml("../data/testxml.xml","add","add3")
#进行对比预期结果和实际结果
sum =k.add(int(jia1),int(jia2))
#相减
jian1 = r.read_xml("../data/testxml.xml","reduct","reduct1")
jian2 = r.read_xml("../data/testxml.xml","reduct","reduct2")
jian3 = r.read_xml("../data/testxml.xml","reduct","reduct3")
#进行对比预期结果和实际结果
reduct = k.reduct(int(jian1),int(jian2))
#相乘
cheng1 = r.read_xml("../data/testxml.xml","cheng","cheng1")
cheng2 = r.read_xml("../data/testxml.xml","cheng","cheng2")
cheng3 = r.read_xml("../data/testxml.xml","cheng","cheng3")
cheng = k.cheng(int(cheng1),int(cheng2))
# 相除
chu1 = r.read_xml("../data/testxml.xml","chu","chu1")
chu2 = r.read_xml("../data/testxml.xml","chu","chu2")
chu3 = r.read_xml("../data/testxml.xml","chu","chu3")
chu = k.chu(int(chu1),int(chu2))
class CalcTestcase(unittest.TestCase):
def setUp(self) -> None:
print("我是setUp")
# 断言设置和预期结果实际结果行比较 相乘
def test01(self):
self.assertEqual(int(cheng3),cheng)
# 断言设置和预期结果实际结果行比较 相除
def test02(self):
self.assertEqual(int(chu3), chu)
#断言设置和预期结果实际结果行比较 相加
def test03(self):
self.assertEqual(int(jia3),sum)
# 断言设置和预期结果实际结果行比较 相减
def test04(self):
self.assertEqual(int(jian3),reduct)
def tearDown(self) -> None:
print("我是tearDown")
@classmethod
def setUpClass(cls) -> None:
print("我是setUpClass")
@classmethod
def tearDownClass(cls) -> None:
print("我是tearDownClass")
if __name__ == '__main__':
unittest.main()
结果
第二种方式 csv
在开发里面书写开发编码
class Kf (object):
def add(self,a,b):
c = a + b
return c
def reduct(self,a,b):
c = a - b
return c
def cheng(self,a,b):
c = a * b
return c
def chu(self,a,b):
c = a / b
return c
k = Kf()
print(k.chu(10,5))
首先要在data包添加数据
2,3,5
在dataread包里面进行读取数据
import csv # 导入csv模块
class ReadCsv():
def read_csv(self):
item = [] # 定义一个空列表
c = csv.reader(open("../data/testcsv.csv", "r")) # 得到csv文件对象
for csv_i in c:
item.append(csv_i) # 将获取的数据添加到列表中
return item
r = ReadCsv()
print(r.read_csv())
在test测试报里面进行测试数据
import unittest
from ceshi.android import Kf #导入开发的编码模块
from readdata.readcsv import ReadCsv #导入读取scv模块
k = Kf()
r = ReadCsv()
list = r.read_csv()
class CalcTestClass(unittest.TestCase):
#相加
def test01(self):
for csv_i in list:
add1 = k.add(int(csv_i[0]), int(csv_i[1]))
self.assertEqual(add1, int(csv_i[2]))
# #相减
# def test02(self):
# for csv1 in list:
# reduct = k.reduct(int(csv1[2]), int(csv1[1]))
# self.assertEqual(reduct, int(csv1[0]))
# #相乘
# def test03(self):
# for csv2 in list:
# cheng = k.cheng(int(csv2[2]), int(csv2[1]))
# self.assertEqual(cheng, int(csv2[0]))
# # 相除
# def test04(self):
# for csv3 in list:
# chu = k.chu(int(csv3[3]), int(csv3[4]))
# self.assertEqual(chu, int(csv3[5]))
if __name__ == '__main__':
unittest.main()
结果 执行了1次