用例综合框架管理

前面测试用例与执行都是写在一个文件,当用例数量不断增加的时候,用例的执行与管理变得非常麻烦,因此需要对用例根据具体的功能模块来使用单独的模块来管理。就像一所学校要根据不同年级进行分班管理,也是同样道理。
案例:Test_Project 文件目录下包含4个python文件:
• l–StartEnd.py—— SetUp与TearDown管理
• l–calculatory.py——加减法运算方法的实现
• l–test_add.py——加法测试用例
• l–test_sub.py——减法测试用例
• l–runtest.py——用例执行管理

----------
calculatory.py

#两个数相加或者相减
class Math:
    def __init__(self,a,b):
        self.a=int(a)
        self.b=int(b)

    def add(self):
        return self.a+self.b

    def sub(self):
        return self.a-self.b



----------


StartEnd.py
import unittest

class SetUp_TearDown(unittest.TestCase):
    def setUp(self):
        print("test start")

    def tearDown(self):
        print("test end")



----------
test_add.py
from calculator 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
from calculator import *
from StartEnd import *

class TestSub(SetUp_TearDown):
    def test_sub(self):
        i=Math(5,5)
        self.assertEqual(i.sub(),0)

    def test_sub1(self):
        i=Math(8,5)
        self.assertEqual(i.sub(),3)



----------
runtest.py
•   使用discover 可以一次调用多个脚本
•   test_dir 被测试脚本的路径
•   pattern 脚本名称匹配规则
import unittest
test_dir='./'
discover=unittest.defaultTestLoader.discover(test_dir,pattern='test*.py')

if __name__ == '__main__':
    runner=unittest.TextTestRunner()
    runner.run(discover)
相关文章
相关标签/搜索