基本上,可以在测试失败或通过时发出Growl通知(或其他回调)。有类似的东西吗?
如果没有,编写它应该很容易.. 最简单的方法是...
- 运行
python-autotest myfile1.py myfile2.py etc.py
- 检查要监视的文件是否已被修改(可能只是保存了)。
- 运行这些文件中的任何测试。
- 如果一个测试失败了,但在上一次运行中它通过了,则生成Growl警报。相同的情况也适用于先失败后通过的测试。
- 等待并重复步骤2-5。
我能看到的问题是如果测试在不同的文件中。简单的解决方案是每次保存后运行所有测试.. 但对于较慢的测试而言,这可能需要比两次保存之间的时间更长,并且/或者可能会使用大量CPU资源等。
最好的方法是实际查看哪些代码段发生了变化,如果函数abc()已经更改,则仅运行与此交互的测试.. 尽管这将是很好的,但我认为它非常复杂,难以实现?
总结:
- 是否有像Ruby工具
autotest
(ZenTest包的一部分)这样的东西,但适用于Python代码? - 如何检查两个脚本版本之间更改了哪些函数?
- 是否可能确定命令将调用哪些函数?(有点像反向traceback)