基本上,咆哮通知(或其他回调)时,测试中断或通过。 这样的事情存在吗?Python单元测试有没有像'autotest'?
如果不是,它应该很容易写..最简单的办法是..
- 运行
python-autotest myfile1.py myfile2.py etc.py
- 检查文件,待监控已被修改(可能只是如果他们已经被保存)。
- 在这些文件中运行任何测试。
- 如果测试失败,但在上次运行过程中通过,则会生成一个咆哮警报。测试失败,然后通过。
- 等待,然后重复步骤2-5。
我能看到的问题有,如果测试是在不同的文件中。简单的解决方案是在每次保存后运行所有测试..但通过较慢的测试,这可能需要比保存之间的时间更长的时间,并且/或者可能使用大量的CPU功率等。
最好的方法要做到这一点,实际上会看到代码已经发生了什么变化,如果函数abc()已经改变,只能运行与之交互的测试。虽然这会很好,但我认为这会非常复杂。
总结:
- 有没有像Ruby的工具
autotest
(在ZenTest package的一部分)什么,但对于Python代码? - 如何检查脚本的两个版本之间哪些功能发生了变化?
- 是否可以确定命令将调用哪些函数? (有点像一个反向回溯)
我不认为有可能正确测试您是否只运行直接引用修改函数的测试。您将不会测试函数如何与代码的其余部分交互。例如,它可能会通过测试,但在实践中失败,因为它的行为以微妙的方式变化。 – freespace 2008-09-20 18:33:21
嗯,好点。 – dbr 2008-09-21 06:29:50