赞
踩
Pygame单元测试的套件包(suite package)
pygame.tests.run - 运行pygame单元测试套件
从命令行运行测试套件包的一种快速方法是使用Python -m选项导入go子模块:
python -m pygame.tests [<test options>]
命令行选项–help显示用法消息。 可用选项对应于pygame.tests.run()参数。
测试包的xxxx_test子模块是pygame各个部分的单元测试套件。每个也可以作为主程序运行。如果测试(例如cdrom_test)是交互式的,这将非常有用。
对于pygame开发,可以从pygame发布的根目录运行测试套件。程序run_tests.py是为方便起见而提供的,但test/go.py可以直接运行。
模块级标签控制单元测试运行中包含的模块。标记被分配给具有相应 tags.py模块的单元测试模块。 tags模块具有全局__tags_,标记名称的列表。例如,cdrom_test.py有一个标记文件cdrom_tags.py,其中包含具有“交互”字符串的标记列表。 ‘interactive’标记表示cdrom_test.py需要用户输入。它从run_tests.py或pygame.tests.go运行中排除。另外两个被排除的标记是’ignore’和’subprocess_ignore’。这两个标记表示不能在特定平台上运行的单元测试,或者没有相应的pygame模块可用的单元测试。测试运行器将列出每个被排除的模块以及负责的标记。
运行pygame单元测试套件
run(*args, **kwds) -> tuple.
位置参数(可选):
要包含的测试名称。 如果省略,则运行所有测试。 测试名称不需要包含尾随的'_test'。
关键字参数:
incomplete - 失败不完整的测试(默认为False)
nosubprocess - 在当前进程中运行所有测试套件
(默认为False,使用单独的子进程)
dump - dump失败/错误,当dict准备好eval(默认为False)
file - 如果被提供,要dump失败/错误的文件的名称
timings - 如果被提供,运行每个单独测试以获得平均运行时间的次数(默认为每次测试运行一次)
exclude - 要从运行中排除的TAG名称列表
show_output - 显示错误的潜在的stderr / stdout(默认为False)
all - dump所有结果,而不仅仅是错误(默认为False)
randomize - 随机化测试顺序(默认为False)
seed - 如果提供的话,种子随机数整数
multi_thread - 如果提供,运行子过程测试的THREADS数
time_out - 如果subprocess为True,那么杀死测试前的时间限制的秒数(默认为30)
fake - 如果提供,run_tests__tests子包中的假测试包的名称,而不是正常的pygame测试
python - 运行子进程测试的python可执行文件的路径(默认sys.executable)
返回值:
运行测试总数的元组,错误信息字典。 如果没有记录错误,则字典为空。
默认情况下,各个测试模块在单独的子进程中运行。这会重新创建正常的pygame用法,其中pygame.init()和pygame.quit()每次执行程序只调用一次,并避免测试模块之间的不幸交互。此外,对测试执行设置了时间限制,因此在分配时间到期时冻结测试将被终止。如果线程无法正常工作或测试时间过长,请使用单个进程选项。不保证所有测试都将在单一过程模式下通过。
如果randomize参数为True或提供种子参数,则测试以随机顺序运行。如果未提供种子整数,则使用系统时间。
单个测试模块可以具有__tags__属性,用于选择性地忽略运行中的模块的标记字符串列表。默认情况下,仅忽略“交互式”模块(如cdrom_test)。必须从控制台作为Python程序运行交互式模块。
每个Python会话只能调用一次此函数。它不是可重入的。
搜索pygame.tests.run的示例
以上文档,自己翻译,可能有误,可参考:pygame.tests
Fin.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。