zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    POJ 1469 COURSES 二分图最大匹配
    POJ 1325 Machine Schedule 二分图最大匹配
    USACO Humble Numbers DP?
    SGU 194 Reactor Cooling 带容量上下限制的网络流
    POJ 3084 Panic Room 求最小割
    ZOJ 2587 Unique Attack 判断最小割是否唯一
    Poj 1815 Friendship 枚举+求最小割
    POJ 3308 Paratroopers 最小点权覆盖 求最小割
    1227. Rally Championship
    Etaoin Shrdlu
  • 原文地址:https://www.cnblogs.com/shenhainixin/p/9355667.html
Copyright © 2011-2022 走看看