python单元测试框架-unittest(四)之用例综合框架管理

简述为何如要框架?

前面测试用例与执行都是写在一个文件,当用例数量不断增加的时候,用例的执行与管理变得非常麻烦,因此需要对用例根据具体的功能模块来使用单独的模块来管理。就像一所学校要根据不同年级进行分班管理,也是同样道理。

实例:Project文件目录下包含4个python文件

StartEnd.py

1 #coding=utf-8
2 import unittest
3 class SetUp_TearDown(unittest.TestCase):
4     def setUp(self):
5         print("test start")
6     def tearDown(self):
7         print("test end")

calculatory.py

1 #coding=utf-8
2 class Math(object):
3     def __init__(self,a,b):
4         self.a=int(a)
5         self.b=int(b)
6     def add(self):
7         return self.a+self.b
8     def sub(self):
9         return self.a-self.b

test_add.py

#coding=utf-8
from calculatory import *
from StartEnd import *

class TestAdd(SetUp_TearDown):
    def test_add(self):
        i=Math(5,5)
        self.assertEqual(i.add(),10)

    def test_add1(self):
        i=Math(8,8)
        self.assertEqual(i.add(),16)

test_sub.py

 1 #coding=utf-8
 2 from calculatory import *
 3 from StartEnd import *
 4 class TestSub(SetUp_TearDown):
 5     def test_sub(self):
 6         i=Math(5,5)
 7         self.assertEqual(i.sub(),0)
 8 
 9     def test_sub1(self):
10         i=Math(8,5)
11         self.assertEqual(i.sub(),3)

runtest.py

 1 #coding=utf-8
 2 import unittest
 3 '''
 4 •    使用discover 可以一次调用多个脚本
 5 •    test_dir 被测试脚本的路径
 6 •    pattern 脚本名称匹配规则
 7 
 8 '''
 9 test_dir='./'
10 discover=unittest.defaultTestLoader.discover(test_dir,pattern='test*.py')
11 
12 if __name__=='__main__':
13     runner=unittest.TextTestRunner()
14     runner.run(discover)

 

posted on 2018-07-23 17:06  深海溺心  阅读(148)  评论(0编辑  收藏  举报

导航