基本上,当测试中断或通过时,咆哮通知(或其他回调).有这样的事吗?
如果没有,它应该很容易写..最简单的方法是...
跑 python-autotest myfile1.py myfile2.py etc.py
检查是否已修改要监控的文件(可能只是保存了它们).
在这些文件中运行任何测试.
如果测试失败,但在之前的运行中它通过,则生成一个咆哮警报.与失败然后通过的测试相同.
等待,然后重复步骤2-5.
我可以看到的问题是测试是否在不同的文件中.简单的解决方案是在每次保存后运行所有测试..但是测试速度较慢,这可能需要比保存之间的时间更长,和/或可能使用大量CPU功率等.
最好的方法是实际看看代码的哪些部分发生了变化,如果函数abc()发生了变化,只运行与之交互的测试..虽然这很好,但我觉得它非常复杂实行?
总结一下:
是否有类似Ruby工具autotest
(ZenTest包的一部分),但对于Python代码?
如何检查脚本的两个修订版之间哪些功能已更改?
是否可以确定命令将调用哪些函数?(有点像反向追溯)
jkp.. 27
我发现autonose非常不可靠,但嗅探器似乎工作得非常好.
$ pip install sniffer $ cd myproject
然后运行:而不是运行"nosetests"
$ sniffer
或者,而不是nosetests --verbose --with-doctest
,你运行:
$ sniffer -x--verbose -x--with-doctest
如自述文件中所述,最好安装一个特定于平台的文件系统监视库pyinotify
,pywin32
或者MacFSEvents
(所有可以通过其他方式安装pip
)
我发现autonose非常不可靠,但嗅探器似乎工作得非常好.
$ pip install sniffer $ cd myproject
然后运行:而不是运行"nosetests"
$ sniffer
或者,而不是nosetests --verbose --with-doctest
,你运行:
$ sniffer -x--verbose -x--with-doctest
如自述文件中所述,最好安装一个特定于平台的文件系统监视库pyinotify
,pywin32
或者MacFSEvents
(所有可以通过其他方式安装pip
)
autonose通过创建gfxmonk:
Autonose是一个类似自动测试的工具,使用优秀的nosetest库.
autotest跟踪文件系统更改,并在添加,删除或更新文件时自动重新运行任何已更改的测试或依赖项.如果文件已被自我修改,或者文件已更改,则文件计为
import
已更改....
Autonose目前有一个OSX和GTK的原生GUI.如果这些都不可用,您可以改为运行控制台版本(使用--console选项).