测试平行化器

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。util。同时发生的叉子在游泳池里。常见的并行性准则,用于选择正确的并行度大小   java如何将空白字符追加到指定长度?   安卓应用程序中出现错误,SSLHandshakeException,找不到证书路径的信任锚点   java如何使用JUnit Mockito验证检查方法是否未被调用   java如何使用不同的@RequestMapping解析多个控制器中的静态页面   Selenium中的javascript需要验证搜索结果   访问数据库SQLiteopenHelper方法时java应用程序崩溃(nullpointerexception)   在二叉树中验证最小堆时出现java空指针异常   Java 7的SSL连接失败   java用RestEasyWebTarget替换ProxyFactory不起作用   在Java应用程序中单击“否”按钮后,数组程序冻结(无响应)   数组中的前缀Java初学者前进和   Java HTML解析器,包括脚本标记和LineNumberReader   在java中为长类型数字加前导零   正则表达式无法映射正则表达式java。lang.IllegalArgumentException:模式段中捕获组的数量