码迷,mamicode.com
首页 > 编程语言 > 详细

【Python】unittest-1

时间:2018-05-26 23:25:18      阅读:351      评论:0      收藏:0      [点我收藏+]

标签:包含   开始   sel   UNC   run   增加   错误   testcase   down   

一、Unittest 单元测试 将测试结果和期望值作对比

(1)       继承

(2)       引用包

(3)       执行一次test就会调用一次setup和tearDown

(4)       类名以test开头

(5)       断言异常

(6)       有一个点表示通过一个测试用例

二、如果有一个单元测试执行失败,抛异常或断言失败,依然会被执行。断言失败会显示E

凡是以test开头的方法都是测试方法,反之不是,测试时候不会执行。其中,unittest.TestCase提供很多内置的条件判断,我们可以调用这些方法断言输出是否是我们所预计的。
一般分为两种,一种是assertEqual():断言某两个结果是否一致。一种是assertRaises():断言是否是期待抛出的指定错误类型。

另外,可以通过在单元测试中增加两个特殊函数setUp()和tearDown()函数,已实现在每调用一个测试方法的前后分别执行指定的动作,其中setUp是在测试函数调用前执行,tearDown是在之后执行,每次执行用例时都会: setUp->test_case->tearDown ;也就是说可以使用setUp和tearDown做每个用例的环境初始化

dome1:

每次执行用例时都会: setUp->test_case->tearDown ;也就是说可以使用setUp和tearDown做每个用例的环境初始化

 1 import unittest  
 2   
 3   
 4 class MyTestCase(unittest.TestCase):  
 5     # 预置环境  
 6     def setUp(self):  
 7         print 开始执行  
 8   
 9     # 清理环境  
10     def tearDown(self):  
11         print 结束执行  
12   
13     # 测试用例  
14     def test_case1(self):  
15         print 用例1  
16   
17     # 测试用例  
18     def test_case2(self):  
19         print 用例2  
20   
21 if __name__ == __main__:  
22     unittest.main()  

dome2:

每个class用一次,setUpClass->test_case1->test_case2->tearDownClass;也就是说使用setUpClass、tearDownClass可以做所有用例的前置初始化和结束

 1 import unittest  
 2   
 3   
 4 class MyTestCase(unittest.TestCase):  
 5     @classmethod  
 6     def setUpClass(cls):  
 7         print 开始执行  
 8  
 9     @classmethod  
10     def tearDownClass(cls):  
11         print 结束执行  
12   
13     # 测试用例  
14     def test_case1(self):  
15         print 用例1  
16   
17     # 测试用例  
18     def test_case2(self):  
19         print 用例2  
20   
21 if __name__ == __main__:  
22     unittest.main()  

三、unittest练习

#写一个读文件的类,里面有个方法可以读取文件的全部内容。
#写个单元测试,断言文件中包含关键字"glory road"

main.py

 1 import unittest
 2 import random
 3 from handle_file import HandleFile
 4 
 5 class TestSequenceFunctions(unittest.TestCase):
 6     def test_run(self):
 7         content = HandleFile.read_file("e:\\test4\\ip.txt")
 8         self.assertTrue("glory road" in content)
 9         
10 if __name__ == "__main__":
11     unittest.main()

handle_file.py

 1 import os
 2 
 3 class HandleFile():
 4     @staticmethod
 5     def read_file(file_path):
 6         if os.path.exists(file_path):
 7             with open(file_path) as f:
 8                 return f.read()
 9         else:
10             return "no file"
11 
12 
13 
14 if __name__=="__main__":
15     hf=HandleFile()
16     print hf.read_file("e:\\test4\\ip.txt")

 

 

 2 

 

【Python】unittest-1

标签:包含   开始   sel   UNC   run   增加   错误   testcase   down   

原文地址:https://www.cnblogs.com/jingsheng99/p/9094642.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!