2012-09-28 36 views
1

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

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

PS:我使用Python 2.6中,所以我不能使用these

+0

什么是开始触发器?如果你不首先启动它们,这个问题永远不会出现。 –

+0

它们是在部署时启动的,我不能修改这个自动机制。在这种情况下,最好的解决方案是检查他们最后一次实际运行的时间,看看它是否多于或少于一个小时。这不是unittest lib的目的,他们也没有真正提供这方面的支持,但我相信这有一个技巧。 – Alex

回答

2
  1. 亚历克斯提到的,你应该还记得上次测试运行的日期,要么运行测试或由不部署脚本,而不是从unittest。

  2. 如果你需要Python 2.6的现代unittest类,你可以做“pip install unittest2”。

  3. 有可能通过你自己的装饰器来做这样的事情,它会将每个测试用例包装在函数中,它们会运行它们或跳过某些条件,但这对你来说不是好的解决方案。