读取xml和csv设置数据

在开发里面书写开发编码

第一种方式  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次

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值