手机版
网站地图
美文美图
最新动态
你好,欢迎访问
好美文阅读网
个性皮肤
搜索
网站首页
美文
文章
散文
日记
诗歌
小说
故事
句子
作文
签名
祝福语
情书
范文
读后感
文学百科
美文摘抄
节日文章
名家散文
网名大全
座右铭
口号大全
面试技巧
说说大全
阅读答案
诗词默写
流言蜚语
节日祝福
好句子
经典台词
谚语大全
亲情故事
友情故事
表白情书
工作报告
活动总结
心得体会
专题汇总
美文网首页
unittest
unittest
作者:
h枯心易凉
| 来源:发表于
2021-07-28 21:41 被阅读0次
unittest中最核心的部分是:TestFixture、TestCase、TestSuite、TestRunner
TestFixture
作用:用于一个测试环境的准备和销毁还原。
setUp():准备环境,执行每个测试用例的前置条件;
tearDown():环境还原,执行每个测试用例的后置条件;
setUpClass():必须使用@classmethod装饰器,所有case执行的前置条件,只运行一次;
tearDownClass():必须使用@classmethod装饰器,所有case运行完后只运行一次;
TestCase:测试用例
importunittestclassCalc_testcase(unittest.TestCase):defsetUp(self):测试用例方法执行前的操作print("start")deftest1(self):测试用例,方法名称必须以test开头 resl=4self.assertEqual(resl,5)deftearDown(self):测试用例方法执行后的操作print("end")if__name__=="__main__":unittest.main()调用测试用例中以test开头的方法,直接输入main
TestSuite:测试套件,可以将多个测试用例集合在一起,能一起执行选中的测试用例
if __name__ == '__main__': unittest.main suite = unittest.TestSuite() caseList = ["test001", "test002"] for case in caseList: suite.addTest(UnitTestTwo(case)) 运行测试用例 runner = unittest.TextTestRunner(verbosity=2) runner.run(suite)
TextRunner
执行测试用例
通过TextTestRunner类提供的run()方法来执行test suite/test cas
格式:
runner = unittest.TextTestRunner(verbosity=2)
runner.run(suite)
verbosity :表示测试报告信息的详细程度,一共三个值,默认是2
0 (静默模式):你只能获得总的测试用例数和总的结果,如:总共100个 失败10 成功90
1 (默认模式):类似静默模式,只是在每个成功的用例前面有个. 每个失败的用例前面有个F
2 (详细模式):测试结果会显示每个测试用例的所有相关的信息
断言:
assertEqual(a,b):断言a和b是否相等,相等则测试用例通过。assertNotEqual(a,b):断言a和b是否相等,不相等则测试用例通过。assertTrue(x):断言x是否True,是True则测试用例通过。assertFalse(x):断言x是否False,是False则测试用例通过。assertIs(a,b):断言a是否是b,是则测试用例通过。assertNotIs(a,b):断言a是否是b,不是则测试用例通过。assertIsNone(x):断言x是否None,是None则测试用例通过。assertIsNotNone(x):断言x是否None,不是None则测试用例通过。assertIn(a,b):断言a是否在b中,在b中则测试用例通过。assertNotIn(a,b):断言a是否在b中,不在b中则测试用例通过。assertIsInstance(a,b):断言a是是b的一个实例,是则测试用例通过。assertNotIsInstance(a,b):断言a是是b的一个实例,不是则测试用例通过。
生成测试报告
1:导入unittest模块 >>>import unittest
2:编写一个类继承unittest.TestCase
3:调用setUp(self), tearDown(self)方法实现测试用例前后阶段的操作
4:编写测试用例方法
(1)该方法必须以test开头,否则在unittest.main()中调用测试找不到该方法
(2)设置断言进行判断,输入数据和输出数据的预期结果
5:创建套件,将多个测试用例存放套件中,一并执行()
6:生成测试报告(python自带或者导入HTMLTestRunner生成html格式的测试报告)
7:运行测试用例unittest.main(),调用测试用例中以test开头的方法
读取xml文件
fromxml.domimportminidomclassReadxml():defread_xml(self,path,onename,twoname):root=minidom.parse(path)firstnode=root.getElementsByTagName(onename)[0]secondnode=firstnode.getElementsByTagName(twoname)[0].firstChild.datareturnsecondnoder=Readxml()print(r.read_xml(path,'add','add3'))
具体应用:
importunittestfromdev.CaculateimportCaculatefromreaddata.readxmldataimportReadxmlc=Caculate()r=Readxml()a1=r.read_xml('../data/xmltestdata.xml','add','add1')a2=r.read_xml('../data/xmltestdata.xml','add','add2')a3=r.read_xml('../data/xmltestdata.xml','add','add3')r1=r.read_xml('../data/xmltestdata.xml','reduce','reduce1')r2=r.read_xml('../data/xmltestdata.xml','reduce','reduce2')r3=r.read_xml('../data/xmltestdata.xml','reduce','reduce3')classUnitTestTwo(unittest.TestCase):defsetUp(self)->None:print("开始")deftest001(self):sum=c.add(int(a1),int(a2))self.assertEqual(sum,int(a3))deftest002(self):dif=c.reduce(int(r1),int(r2))self.assertEqual(dif,int(r3))deftearDown(self)->None:print("结束")if__name__=='__main__':unittest.main
读取csv文件
importcsv 导入csv模块classReadCsv():defread_csv(self):item=[]定义一个空列表 c=csv.reader(open(path,"r"))得到csv文件对象forcsv_iinc:item.append(csv_i)将获取的数据添加到列表中returnitem r=ReadCsv()print(r.read_csv(path))
具体使用:
importunittestfromdev.CaculateimportCaculatefromreaddata.readcsvimportReadCsvc=Caculate()r=ReadCsv()classUnitTestTwo(unittest.TestCase):defsetUp(self)->None:print("开始")deftest001(self):passforiinr.readCsv(path):add=c.add(int(i[0]),int(i[1]))self.assertEqual(add,int(i[2]))deftearDown(self)->None:print("结束")if__name__=='__main__':unittest.main
相关文章
网友评论
本文标题:
unittest
本文链接:
https://www.haomeiwen.com/subject/xvdtvltx.html
延伸阅读
那年盛夏诗歌
环境监察队工作总结范文
优秀教师学习心得范文
华胥引的读后感300字
《Its red》教学反思范文
农资购销的合同范本
竞选中队委优秀演讲稿
辞金蹈海的成语解释
《世纪宝鼎》公开课教案设计
因为爱你,所以牵挂
今生今世红尘醉——美到
一个90后的内心独白
致已逝去的高中年华
深度阅读
您也可以注册成为美文阅读网的作者,发表您的原创作品、分享您的心情!
情人节
母亲节
重阳节
清明节
端午节
植树节
元宵节
妇女节
愚人节
圣诞节
父亲节
教师节
儿童节
劳动节
青年节
建军节
万圣节
平安夜
光棍节
中秋节
国庆节
感恩节
腊八节
更多话题
栏目导航
摄影
故事
互联网
读书
旅行
热点阅读
《掌中之物同人》囚鸟(八十一)
出趟门好难
gomod 使用
乡村的群体共识
越来越多人不想结婚的原因
百度翻译
断舍离
母亲的菜园
《简社》绝句写法练习之二十九,纵字的使用
说话的艺术
网友评论