【问题标题】:Exit tests on condition in setUp在设置条件下退出测试
【发布时间】:2012-09-20 08:30:10
【问题描述】:

我有一组使用 unittest 实现的测试,它们是自动运行的。我想最多每小时运行一次,我有一个方法检查这种情况,并返回 True(如果可以运行它们)或 False(如果应该退出测试)。

如果检查函数返回 False,我如何将它与 unittest 集成,以便 setUpClass 或 setUp 方法退出(并且不会失败)?

PS:我用的是python 2.6,所以不能用these

【问题讨论】:

  • 什么是启动触发器?如果您不首先启动它们,则永远不会出现此问题。
  • 它们是在部署时启动的,我无法修改这种自动机制。在这种情况下,最好的解决方案是检查它们最后一次实际运行的时间,看看它是多于还是少于一个小时。这不是 unittest lib 的目的,他们并没有真正为此提供支持,但我相信这有一个技巧。

标签: python unit-testing


【解决方案1】:
  1. 正如 Alex 所提到的,您应该只记住上次测试运行的日期,然后从部署脚本(而不是单元测试)运行测试或不运行测试。

  2. 如果您需要 python 2.6 上的现代单元测试类,您可以执行“pip install unittest2”。

  3. 可以通过您自己的装饰器执行类似的操作,该装饰器将每个测试用例包装在可以运行它们或在某些条件下跳过的函数中,但这对您来说不是一个好的解决方案。

【讨论】:

    【解决方案2】:

    2.6 中的 unittest 不支持跳过测试(该功能已在 2.7 中添加:http://docs.python.org/library/unittest.html?highlight=unittest#skipping-tests-and-expected-failures),但您可以使用 unittest2,它是将 2.7 功能向后移植到早期版本。

    您必须使用 unit2 包装脚本调用测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      相关资源
      最近更新 更多