使用discover批量执行用例

TestLaoder

该类负责根据各种条件加载测试用例,并将它们返回给测试套件,正常情况下,不需要创建这个类的实例,unittest提供了可以共享的defaultTestLoader类,可以使用其子类和方法创建实例,discover()方法时其中之一

discover(stat_dir,pattern=‘test*.py’,top_level_dir=None)

根据指定目录下所有测试模块,可以查询到子目录下的测试模块,只有匹配到文件名才能被加载,如果不是顶层目录,那么顶层目录必须单独指定

stat_dir:要测试的模块名或者用例目录

pattern=‘test*.py’:文件的匹配原则,此处表示以‘test’开头,以‘py’结尾,‘*’表示任意多个字符

top_level_dir=None:测试模块的顶层目录,如果没有顶层目录,默认为none

下面是一个使用discover的小例子,如果下面是我们要进行测试的测试目录:

那么runtest.py的内容可以如下描述

import unittest
#待测试的模块
test_dir='C:\\Users\\Anne\\Desktop\\SeleniumPython_Test\\Web_case\\test_case'
discover=unittest.defaultTestLoader.discover(test_dir,pattern='test*.py')
if __name__=='__main__':
    runner=unittest.TextTestRunner()
    runner.run(discover)

  discover()方法会自动根据测试目录匹配查找测试用例文件,并且将查找到的测试组装到测试套件中,因此可以直接通过run()方法执行discover,大大简化了测试用例的查找和执行。

posted @ 2017-12-07 10:15  Silence&QH  阅读(685)  评论(0编辑  收藏  举报