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

发布于 2021-01-29 15:09:30

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

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

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

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

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

总结一下:

  • 是否有类似Ruby工具autotestZenTest包的一部分)之类的东西,但适用于Python代码?
  • 如何检查脚本的两个修订版之间哪些功能已更改?
  • 是否可以确定命令将调用哪些功能?(有点像反向追溯)
关注者
0
被浏览
76
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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

    $ pip install sniffer
    $ cd myproject
    

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

    $ sniffer
    

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

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

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看