Facebook开源ptr:在Python环境中并行运行单元测试

2019 年 3 月 22 日

Facebook开源ptr:在Python环境中并行运行单元测试

Facebook 开源了一个名为 Python Test Runner(ptr)的新项目,允许开发人员运行 Python 单元测试套件。ptr 和现有测试运行器之间的主要区别在于 ptr 通过爬取存储库查找一定的 Python 项目,这些项目带有的单元测试在安装文件中已经定义过。 然后,通过配置好的已启用的步骤,它会并行运行每个套件。


ptr 使用标准的开源 Python 组件提供了轻量级工具,并在 Linux,MacOS 和 Windows 上得到支持和测试。ptr 允许开发人员在一个 Python 环境中测试多个项目以及并行运行测试。


为了实现这一点,ptr 从 BASE_DIR(-b)中递归搜索 setup.(cfg | py)并解析找到的安装文件以进行 ptr 配置。如果 setup.(cfg | py)带有 ptr 配置,则 ptr 运行测试。并行运行测试套件时,将为每个套件运行所有步骤一直到出现问题,并且只有失败的运行才会将输出写入 stdout。


ptr 有 4 个主要用例:


  • 运行Python测试套件;

  • 根据需要检查并执行代码覆盖要求;

  • 根据需要格式化和linting Python代码;

  • 根据需要执行静态类型分析。


ptr 开源地址:https://github.com/facebookincubator/ptr


2019 年 3 月 22 日 16:332399
用户头像
张婵 InfoQ 技术编辑

发布了 87 篇内容, 共 44.0 次阅读, 收获喜欢 210 次。

关注

评论

发布
暂无评论
发现更多内容

典型互联网应用系统使用的技术方案和手段

jorden wang

并发压力&响应时间&系统吞吐量

Yangjing

架构师训练营第 1 期

第八周作业

Geek_ce484f

架构师训练营第一期

网络模型及性能优化

天天向上

架构师训练营第 1 期

架构一期第八周作业

Airs

第八周课后练习

饭桶

架构师训练营第四周系统架构总结

Sandman

架构师训练营第 2 期

架構師訓練營 week8 作業

ilake

第四周作业

Griffenliu

第四周学习总结

Griffenliu

第四周-作业一

Geek_0b0f83

架构师训练营第 2 期

架构师训练营第八周总结

xs-geek

「架构师训练营第 1 期」

架构师训练营第八周作业

xs-geek

「架构师训练营第 1 期」

性能优化学习笔记

Yangjing

架构师训练营第 1 期

架构师训练营 - 第八周作业

一个节点

架构师训练营第 1 期

架构师训练营 - 第八周总结

一个节点

架构师训练营第 1 期

第八周学习总结

饭桶

架构师训练营 - 第八周 - 作业一

行者

第四周学习总结

晴空万里

架构师训练营第 2 期

第八周作业

Geek_ce484f

「架构师训练营第 1 期」

第八周作业总结

Geek_ce484f

架构师训练营第 1 期

一篇文章搞懂 @weakify 和 @strongify

疯清扬

objective-c weak weakify strongify 循环引用

架构师训练营第二期 Week 4 作业

bigxiang

架构师训练营第 2 期

三步实现SSH免密登录Linux服务器

jiangling500

SSH 免密登录 Linux服务器

第八周总结

睁眼看世界

架构师训练营第 1 期

还有人不知道JVM调优参数?一次性打包发给你

田维常

JVM jvm调优

架构师训练营第 1 期 - 第八周作业

Todd-Lee

架构师训练营第 1 期

架构训练营第四周课后作业

Sandman

架构师训练营第 2 期

架构 2 期 - 第四周作业(1)

浮生一梦

第四周作业 架构师训练营第 2 期 2组

架构师训练营第一期第八周作业

Leo乐

「架构师训练营第 1 期」

匠心、携手、深耕:5G Capital展现出的无线产业新范式

脑极体

Facebook开源ptr:在Python环境中并行运行单元测试-InfoQ