跳转到主要内容

Python单元测试生成器

项目描述

安装

获取Pythoscope的最简单方法是使用setuptools

$ easy_install pythoscope

您还可以从http://pythoscope.org/local–files/download/pythoscope-0.4.3.tar.gz下载源包,或者使用bazaar获取开发分支的副本

$ bzr branch lp:pythoscope

要从源目录安装包,请执行以下操作:

$ python setup.py install

您不需要setuptools来使其工作,裸Python就可以。

但是,如果您确实安装了setuptools,您还可以考虑运行Pythoscope的整个测试套件

$ python setup.py test

使用方法

您可以通过单个pythoscope命令使用此工具。要为使用Pythoscope准备您的项目,请输入

$ pythoscope --init path/to/your/project/

它仅执行静态分析,不会以任何方式导入您的模块或执行您的代码,因此您可以在任何想要运行的地方运行它。之后,将在当前目录中创建一个名为.pythoscope的目录。要基于您的项目生成测试存根,选择您想要为它们生成测试的文件

$ pythoscope  path/to/your/project/specific/file.py  path/to/your/project/other/*.py

测试文件将保存到您的测试目录中,如果您有一个,否则将保存到新的tests/目录中。测试用例将聚合到TestCase类中。目前,每个生产类和每个生产函数都有自己的TestCase类。

生成器会忽略一些类和函数 - 所有以下划线开头的,异常类以及一些其他类。

生成器本身在某种程度上是可配置的,请参阅

$ pythoscope --help

有关可用选项的更多信息。

编辑器集成

Emacs

我们发布了一个整合Pythoscope到Emacs的elisp脚本。该文件位于源代码包的misc/目录下。您也可以在Launchpad上查看该文件。使用和安装说明位于文件顶部的注释中。

Vim

有人正在研究Vim集成,但目前还没有什么可以提供的。

Leo

邮件列表编辑器集成线程中对Leo进行了很多讨论。

许可证

Pythoscope的所有源代码都遵循MIT许可证(参见LICENSE文件)。lib2to3/目录下的所有文件都遵循PSF许可证。

变更日志

0.4.3

  • Pythoscope现在将忽略它无法检查的应用程序和测试模块(#487138 #462849)。

  • 改进了具有可变参数和关键字参数的函数断言生成(#475414 #475409)。

  • Pythoscope将不再生成具有相同名称的两个测试用例(#475504)。

  • 安装包现在包含所有必需的文件(#481238)。

  • Pythoscope现在可以正确处理在入口点内部抛出的字符串异常(#522364)。

  • 入口点现在以当前目录作为项目根目录运行(#524352)。

0.4.2

0.4.1

  • 大大提高了信息存储性能

  • 将Pythoscope模块添加到源代码树的misc/目录中。

  • 现在可以使用单元测试作为入口点(#275059)。

  • Pythoscope现在将忽略源代码控制文件(#284568)。

  • 静态检查现在在–init时发生,就像它应该那样(#325928)。

  • 从Python主分支移植了lib2to3的迭代模式匹配器(#304541)。

  • 修复了与嵌套函数参数相关的测试生成错误(#344220)。

  • 修复了入口点清理错误(#324522)。

  • 修复了一些Windows特定的错误(#348136)。

0.4

  • 停止使用pickle进行对象序列化,并实现了我们自己的机制,该机制在动态检查期间仔细捕获对象的改变状态。

  • 实现了保留对象标识蓝图。

  • 修复了与多次生成器调用相关的错误(#295340)。

  • 使特殊方法名称(如 __init__ 或 __eq__)的处理与普通方法名称的处理保持一致。

  • 使测试存根更加有用。

0.3.2

  • 使Pythoscope输出更详细

  • 添加了对用户定义异常的支持

  • 修复了Unicode处理错误(#284585)。

  • 提高了内部信息存储的性能。

0.3.1

  • 为Windows添加了samefile函数的实现(#271882)。

  • 修复了错误的缩进错误(#271892)。

  • 使lib2to3.pgen2.parse.ParseError可拾取(#271904)。

  • 添加了对Python生成器的支持

  • 修复了对具有默认值属性的功能的静态检查错误(#275459)。

0.3

  • 修复了测试模块的generate错误(#264449)。

  • .pythoscope变成了一个目录。

  • 引入了初始化.pythoscope目录的–init选项。

  • 引入了动态分析的概念点。

  • Pythoscope现在可以生成assert_equal和assert_raises类型的断言。

  • 实现了不再需要inspect命令蓝图

  • 将默认测试目录从pythoscope-tests/更改为tests/。

  • 在README文件中添加了教程。

0.2.2

  • 修复了内部类错误(#260924)。

  • 收集器将新数据追加到.pythoscope文件中,而不是覆盖它。

  • 测试模块也在进行分析。

  • 使用lib2to3进行静态代码分析,而不是stdlib的编译器模块。

  • 生成器可以将测试用例追加到现有的测试模块中。保留注释和原始空白。

  • Cheetah不再是依赖项。

  • 将“collect”命令重命名为“inspect”。

0.2.1

包含一个包装错误修复,该修复防止用户使用测试用例生成器并运行内部pythoscope测试。

0.2

首次发布,具有静态代码分析和测试存根生成功能。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

pythoscope-0.4.3.tar.gz (112.9 kB 查看哈希值

上传时间:

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面