测试平行化器

paratest的Python项目详细描述


TestsTravis resultsCoveralls results_
DownloadsLast month downloads from pypiLast week downloads from pypiYesterday downloads from pypi
AboutLicenseWheelPython versionsPython interpreters
StatusStatusStatus

并行化测试执行。

它允许在不同的环境中并行执行集成/验收测试。这样他们就不用花太多时间来完成。

它基于插件来支持不同的语言或平台。

paratest可以在任何连续集成服务器下运行,如JenkinsTeamCityGo-CDBamboo等。

为什么要准备?

几乎所有的测试运行程序都允许并行化测试执行,所以…为什么要并行化?

嗯…在某些情况下,由于依赖关系,测试执行无法并行化:数据库访问、遗留代码、文件创建等。然后,无论何时需要测试它们,都需要创建一个完整的工作区

这可能是一项艰巨的任务,可悲的是,paratest在这方面无能为力。

但是有一些脚本来克隆现有的工作空间,PARATEST可以在任意数量的工作空间之间划分测试,按需创建它们,并在它们上运行测试。资源有限。

paratest的另一个优点是测试顺序:paratest会记住每次测试所花费的时间,并对它们进行重新排序,以充分利用您的基础设施。

最后,Paratest可以重试失败的测试,以避免不稳定的测试

用法

首先,您需要两件事:

  • 一个消息来源。这意味着要有一个包含创建工作区指令的源
  • 一些用于设置/删除工作区的脚本这应该将源代码转换为工作区。

然后,Paratest将调用安装脚本来创建工作区,并将它们之间的测试运行并行化

当前插件

paratest处于早期开发阶段,仍然没有插件可以工作。这只是概念的证明。

贡献

插件

编写插件非常容易。可以将paratest-dummy作为示例。只需要两个步骤:

编写插件方法

目前,只需要一种方法:

def find(path, test_pattern, file_pattern, output_path)

它应该为元组返回dict或生成器。

注册入口点

第二步是使用入口点find在组paratest中创建一个pip包这应该在setup.py文件中完成。示例:

from setuptools import setup, find_packages

setup(
  name='whatever',
  version='0.0.1',
  entry_points={
    'paratest': 'find = whatever:find'
  }
)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
将文本文件读取到java对象数组   不支持java PageNotFound请求方法“GET”   java JDBC未选择任何数据库   java正在获取ssl。SSLHandshakeException在使用带有标头的REST客户端时发生,但在使用PostMan时可以正常工作   java测试与junit 5的接口   多线程Java Publisher服务器聊天程序   java编译错误已尝试修复,但没有成功   在TIBCO上安装java Https证书   java如何解析一个困难的问题。txt文件?   java如何使用ApachePOI3.6和ApachePOIOXML3读取pptx文件的内容。15罐?   java使用Gradle运行特定于Android的检测测试   人工智能回溯Java   用java制作螺旋桨动画   spring hibernate查询中的java日期   java读取HDFS小型分区?