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
0.4.2
已移除对fixture模块的依赖。
修复了与具有可变参数的函数定义相关的测试生成错误(#440773)。
动态检查器现在可以处理所有类型的异常(包括字符串异常)。
已创建常见问题解答文档,同时也在网上提供。
添加了对Python 2.3 至2.6的支持。
Pythoscope现在将新导入的模块放置在现有模块之后,这样在使用__future__导入时不会导致语法错误(#373978)。
修复了与从namedtuple实例派生的类相关的检查错误(#460715)。
0.4.1
0.4
0.3.2
0.3.1
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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 14fdc6e7f7d7738cc1cb5d99bb74062d0071f7c400583df41172a70be69fa864 |
|
MD5 | 15ddb693097375002fecd343d305f17f |
|
BLAKE2b-256 | 86538d1bad3ea1bc2f69e8b39e10c0542cc907e6e8e537327f6c6e9298a8d3c4 |