zoukankan      html  css  js  c++  java
  • 【Android自动化】unittest测试框架关于用例执行的几种方法

     1 # -*- coding:utf-8 -*-
     2 import unittest
     3 
     4 
     5 class test(unittest.TestCase):
     6 
     7     def setUp(self):
     8         print 'This is the setup msg'
     9 
    10     def tearDown(self):
    11         print 'This is the teardown msg'
    12 
    13     def test1(self):
    14         print 'This is the first testcase'
    15 
    16     def test2(self):
    17         print 'This is the second testcase'
    18 
    19     def test3(self):
    20         print 'This is the third testcase'
    21 
    22 运行方法一:
    23 if __name__ == '__main__':
    24     unittest.main()
    25 通过unittest.main()执行时,main会调用TextTestRunner中的run来执行
    26 
    27 运行方法二:
    28 suite = unittest.TestLoader().loadTestsFromTestCase(test)
    29 unittest.TextTestRunner().run(suite)
    30 通过创建一个测试套,将所有用例全部加载到测试套中,然后直接调用TextTestRunner方法能运行测试套(此时测试套中的用例执行还是无规则,不一定会按用例顺序进行执行)
    31 
    32 运行方法三:
    33 suite = unittest.TestSuite()
    34 suite.addTest(test('test3'))
    35 unittest.TextTestRunner().run(suite)
    36 通过创建一个测试套,给测试套中增加一条测试用例,然后再调用TextTestRunner方法单独执行该测试用例
    37 
    38 运行方法四:
    39 suite = unittest.TestSuite()
    40 suite.addTest(test('test3'))
    41 suite.addTest(test('test1'))
    42 unittest.TextTestRunner().run(suite)
    43 通过创建一个测试套,给测试套中连续增加两条测试用例,然后再调用TextTestRunner方法执行该测试用例,此时会按照加载用例的顺序进行执行用例,但这种方法有点土,不强大(不建议使用)
    44 
    45 运行方法五:
    46 suite = unittest.TestSuite()
    47 suite.addTests([test('test3'),test('test1'),test('test2')])
    48 unittest.TextTestRunner().run(suite)
    49 通过创建一个测试套,直接通过addTests()方法,添加一个用例列表进去,然后再调用TextTestRunner方法执行测试用例,此种方法能让unitest按照想要的执行顺序进行执行用例(对用例执行顺序有要求的此方法比较建议使用)
    50 
    51 运行方法六:
    52 def runTest(testcaseclass,testcase=[]):
    53     suite = unittest.TestSuite()
    54     for case in testcase:
    55         suite.addTest(testcaseclass(case))
    56     unittest.TextTestRunner().run(suite)
    57 runTest(test,['test2','test3','test1'])
    58 
    59 通过定义一个unitest运行方法,后面执行时直接调用该自定义方法,给上对应的赋值,程序就会按照想 要的执行程序进行执行(此种方法比较好,只要建立一个公共方法,后面在其它模块中直接调用,省去重复敲代码)
  • 相关阅读:
    一卦,测一年运气
    测一下我心中想的事
    一卦,测一下我心里想的事
    这一卦,学到了不少东西
    癸山丁向下卦(七运)
    起卦测我心里想的事
    现在的卦,越来越看不懂了
    luogu P2759 奇怪的函数 |二分答案
    luogu P2515 [HAOI2010]软件安装 |Tarjan+树上背包
    luogu P2343 宝石管理系统 |分块+堆
  • 原文地址:https://www.cnblogs.com/aziji/p/9284356.html
Copyright © 2011-2022 走看看