Unittest命令行执行测试、执行测试发现操作实例
2017-03-14 00:00
519 查看
#coding=utf8 ''' 可以通过命令行运行:模块、类、或者单个测试方法,具体的操作是如下: 运行测试模块:python -m unittest test_module1 test_module2 运行测试类:python -m unittest test_module.TestClass 运行测试方法:python -m unittest test_module.TestClass.test_method 可以在一个列表中添加需要运行的模块名、类名、方法名。 可以通过使用-v参数获取更详细的测试信息:python -m unittest -v test_module 可以通过-h参数查看命令行所有参数:python -m unittest -h 命令行参数: -b --buffer 在测试运行期间标准输出流和标准错误流被缓存。输出通过测试信息。 输出在测试失败或错误时正常回显,并添加到失败消息中。 -c --catch Ctrl+C在测试运行期间等待当前测试结束,然后报告到目前为止的所有结果。 第二个Ctrl+C会引发KeyboardInterrupt异常。 -f --failfast 在第一个错误或故障时停止测试运行。 命令行也可用于测试发现(Test Discovery),用于运行项目中的所有测试或仅用于子集。 Unittest支持简单的测试发现(Test Discovery)。为了与测试发现兼容, 所有测试文件必须是可从项目的根目录导入的模块或包(这意味着它们的文件名必须是有效的标识符)。 Test Discovery是通过TestLoader.discover()实现,也可以通过命令行实现。 基本的命令行用法: cd project_directory #进入项目目录根目录 python -m unittest discover #执行命令 discover子命令的参数如下: -v , --verbose 详细输出 -s , --start-directory directory 执行发现的起始目录(directory),默认是当前目录(.) -p, --pattern pattern 匹配测试文件的模式(pattern),默认是test*.py -t, --top-level-directory directory 项目(directory)的目的的根目录(默认是起始目录) -s、-p、-t命令可以在一个命令行中联合使用。下面两个命令是等价的: python -m unittest discover -s project_directory -p "*_test.py" python -m unittest discover project_directory "*_test.py" 作为一个路径,可以传递一个包名称,例如myproject.subpackage.test作为开始目录。 然后将导入提供的软件包名称,并将其在文件系统上的位置用作开始目录。 注意:测试发现通过导入来加载测试。一旦测试发现已经从指定的开始目录中找到所有测试文件, 它将路径转换为要导入的包名称。例如foo / bar / baz.py将导入为foo.bar.baz。 如果有全局安装的软件包,并尝试在软件包的不同副本上进行测试发现, 那么导入可能发生在错误的位置。如果发生这种情况,测试发现将警告并退出。 如果提供开始目录作为包名称而不是目录的路径,则发现假定它从其导入的任何位置是想要的位置,因此不会得到警告。 测试模块和包可以通过load_tests协议自定义测试加载和发现。 ''' import os #进入到TestHello.py路径下 os.chdir(".//TestSuit_01") print os.getcwd() print '''可以通过命令行测试信息''' #运行测试模块TestHello.py os.system("python -m unittest TestHello") #运行测试类TestHello os.system("python -m unittest TestHello.TestHello") #运行测试方法 os.system("python -m unittest TestHello.TestHello.test_Hello") print "#"*50 print print '''可以通过使用-v参数获取更详细的测试信息''' #运行测试模块TestHello.py os.system("python -m unittest -v TestHello") #运行测试类TestHello os.system("python -m unittest -v TestHello.TestHello") #运行测试方法 os.system("python -m unittest -v TestHello.TestHello.test_Hello") print "#"*50 print print '''可以通过-h参数查看命令行所有参数:python -m unittest -h''' os.system("python -m unittest -h") print "#"*50 print print "命令行参数:-b -c -f" #运行测试模块TestHello.py os.system("python -m unittest -b TestHello") #运行测试类TestHello os.system("python -m unittest -c TestHello.TestHello") #运行测试方法 os.system("python -m unittest -f TestHello.TestHello.test_HelloType") print "#"*50 print #使用测试发现命令执行所有测试 print "使用测试发现执行项目中的所有测试" #进入到UnttestPro os.chdir("../") print "The current path:",os.getcwd() #全部使用默认的参数 os.system("python -m unittest discover ")
相关文章推荐
- Unittest命令行执行测试、执行测试发现操作实例
- Unittest命令行执行测试、执行测试发现操作实例
- unittest测试用例带有setUp、两个测试函数操作实例
- Unittest操作简单实例进行系统讲解测试用例
- Unittest测试用例加入到测试集中的操作实例
- Unittest操作简单实例进行系统讲解测试用例
- unittest测试用例带有setUp、两个测试函数操作实例
- unittest测试用例带有setUp、两个测试函数操作实例
- Unittest操作简单实例进行系统讲解测试用例
- Unittest测试用例加入到测试集中的操作实例
- selenium---unittest框架测试用例函数执行顺序 优先级
- unittest 测试实例2
- Unit Test测试框架中的测试的执行顺序
- 【selenium】python+selenium+unittest,关于每次执行完一个测试用例都关闭浏览器等时间较长的问题之解决方案
- 用Python搭建自动化测试框架,我们需要组织用例以及测试执行,这里博主推荐Python的标准库——unittest。 unittest是xUnit系列框架中的一员,如果你了解xUnit的其他成员,那
- Python之使用unittest框架和HTMLTestRunner.py文件实现多个测试用例执行与测试报告生成
- appium自动化测试实践之python利用unittest进行测试用例执行的几种方式(转载)
- unittest+coverage单元测试代码覆盖操作实例
- python+requests+unittest API接口测试实例(详解)
- Python UnitTest 框架执行功能自动化测试