对unittest用例容器suit的操作--遍历容器中的用例实现对用例的增删改查

 遍历容器中的用例实现对用例的增删改查

  容器中的用例是一个列表,可以通过对列表的各种操作,实现用例的增删改查。

suit = unittest.TestSuit()

suit.addTest(unittest.defaultTestLoader.loadTestsFromTestCase(TestLogin))

print(suit._tests)

  suit._tests就是一个列表,里面包含一个个用例。也只有上面这种加载方式时,列表中的每一个元素才是单个的用例。如果是下面两种,则列表中中每个元素是一个模块,就不能实现对单个用例的操作了。

suit.addTest(unittest.defaultTestLoader.discover())

suit.addTest(unittest.defaultTestLoader.loadTestsFromModule())

 

  print(discover._tests)

  [<unittest.suite.TestSuite tests=[<unittest.suite.TestSuite tests=[<test_login.TestLogin testMethod=test_login1_normal>, <test_login.TestLogin testMethod=test_login2_passwordError>, <test_login.TestLogin testMethod=test_login3_allEmpty>]>]>]

  由上面可见,这个容器中包含了三层,但也能实现对每个模块中用例的操作。方法是,逐层遍历,直到遍历到第三层的列表,就可以通过对列表的操作,来对用例进行增删改查了。

for i in discover:
    for j in i:
        print(j._tests)

  结果为:[<test_login.TestLogin testMethod=test_login1_normal>, <test_login.TestLogin testMethod=test_login2_passwordError>, <test_login.TestLogin testMethod=test_login3_allEmpty>]

posted @ 2017-12-15 21:25  雅虎跳跳  阅读(435)  评论(0编辑  收藏  举报