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)
  • 相关阅读:
    HBase-scan API 通过scan读取表中数据
    Servlet总结
    【吴节操点评】中国企业SaaS应用深谙未来者寥寥数几 两极分化将加剧
    hibernate实战笔记1---初探
    POJ
    系统服务-----Activity服务的获取getSystemService
    我的编程之路(二十) 新的环境、新的開始
    王爽《汇编语言》第2版-----2、寄存器
    更新智能开发研发进度
    libcurl实现解析(3)
  • 原文地址:https://www.cnblogs.com/shenhainixin/p/9355667.html
Copyright © 2011-2022 走看看