一尘不染

Python单元测试是否有类似“自动测试”的内容?

python

基本上,当测试中断或通过时,咆哮通知(或其他回调)。 像这样的东西存在吗?

如果没有,那应该很容易写..最简单的方法是..

  1. python-autotest myfile1.py myfile2.py etc.py
    • 检查要监视的文件是否已被修改(可能只是已保存)。
    • 在这些文件中运行任何测试。
    • 如果测试失败,但在上一次运行中通过,则生成咆哮警报。与失败然后通过的测试相同。
    • 等待,然后重复步骤2-5。

我可以看到的问题是测试是否在其他文件中。一种简单的解决方案是在每次保存后运行所有测试..但是测试速度较慢,这可能会比两次保存之间的时间更长,并且/或者可能会使用大量的CPU能力等。

最好的方法是实际查看代码的哪些部分已更改,如果函数abc()已更改,则仅运行与此交互的测试。虽然这很好,但我认为这样做极其复杂实行?

总结一下:

  • 是否有类似Ruby工具autotestZenTest包的一部分)之类的东西,但适用于Python代码?
  • 如何检查脚本的两个修订版之间哪些功能已更改?
  • 是否可以确定命令将调用哪些功能?(有点像反向追溯)

阅读 124

收藏
2021-01-20

共1个答案

一尘不染

我发现autonose不太可靠,但嗅探器似乎效果很好。

$ pip install sniffer
$ cd myproject

然后,不运行“ nosetests”,而是运行:

$ sniffer

或者,而不是nosetests --verbose --with-doctest运行:

$ sniffer -x--verbose -x--with-doctest

正如所描述的自述,这是一个好主意,安装特定于平台的文件系统看图书馆之一pyinotifypywin32MacFSEvents(全部安装通过pip等)

2021-01-20