当前位置: 首页 > 面试题库 >

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

宣星光
2023-03-14
问题内容

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

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

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

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

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

总结一下:

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

问题答案:

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

$ pip install sniffer
$ cd myproject

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

$ sniffer

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

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

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



 类似资料:
  • 问题内容: 在Java(我敢肯定,在Java和其他社区中)之间存在着一个众所周知的争论,即是否应该测试简单的getter / setter方法。通常,这是关于代码覆盖率的。我们同意这是一个公开辩论,而不是在这里尝试回答。 有几篇关于使用Java反射来自动测试这种方法的博客文章。 是否有任何框架(例如jUnit)提供这种功能?例如,注释为“该测试T应该自动测试类C上的所有吸气剂/设置器,因为我断言它

  • 问题内容: 有没有办法在单元测试失败时自动启动调试器? 现在,我只是手动使用pdb.set_trace(),但这非常繁琐,因为我需要每次都添加它并在最后将其取出。 例如: 问题答案: 我更正了在异常而不是set_trace上调用post_mortem的代码。

  • 单元测试是一种用于测试应用程序中每个函数的软件开发方法。如果你对此概念不熟悉,或许需要google一下相关概念。 CodeIgniter的单元测试类非常简单,由一个评估函数和两个结果函数组成。它没打算成为一个十全的测试集,只提供一个简单的能够评测你的代码是否可以产生正确的数据类型及结果的解决方案。 初始化单元类 和大多数其它的类一样,在CodeIgniter中,单元测试类一样要在控制器中用函数$t

  • 单元测试是一种为你的应用程序中的每个函数编写测试的软件开发方法。如果你还不熟悉这个概念, 你应该先去 Google 一下。 CodeIgniter 的单元测试类非常简单,由一个测试方法和两个显示结果的方法组成。 它没打算成为一个完整的测试套件,只是提供一个简单的机制来测试你的代码是否 生成了正确的数据类型和结果。 使用单元测试类库 初始化类 运行测试 生成报告 严格模式 启用/禁用单元测试 单元测

  • Android Studio 1.1 添加了单元测试支持,详细请看 Unit testing support。本章的其余部分描述的是 “instrumentation tests”。利用 Instrumentation 测试框架可以构建独立的测试 APK 并运行在真实设备(或模拟器)中进行测试。

  • 英文原文:http://emberjs.com/guides/testing/unit/ 单元测试用于测试代码的一个小片段,确保其功能正常。与集成测试不同,单元测试被限定在一个范围内,并且不需要Ember应用运行。 全局 vs 模块 过去如果没有作为一个全局变量加载整个Ember应用,要对应用进行测试非常困难。通过使用模块(CommonJS,AMD等)来编写应用,可以只加载被测试的部分,而不用将其