我有一组使用unittest实现的测试,它们是自动运行的。我想每小时至多运行一次,我有一个方法检查这个条件,并返回True(如果可以运行它们)或False(如果应该退出测试)。在setUp条件下退出测试
如何将这与unittest集成,使setUpClass或setUp方法退出(并且不会失败),如果检查函数返回False?
PS:我使用Python 2.6中,所以我不能使用these
我有一组使用unittest实现的测试,它们是自动运行的。我想每小时至多运行一次,我有一个方法检查这个条件,并返回True(如果可以运行它们)或False(如果应该退出测试)。在setUp条件下退出测试
如何将这与unittest集成,使setUpClass或setUp方法退出(并且不会失败),如果检查函数返回False?
PS:我使用Python 2.6中,所以我不能使用these
单元测试2.6不支持跳过测试(在2.7中加入的功能:http://docs.python.org/library/unittest.html?highlight=unittest#skipping-tests-and-expected-failures),但你可以使用unittest2是的2.7功能,早期版本的一个补丁包。
您必须使用unit2
包装脚本调用测试。
亚历克斯提到的,你应该还记得上次测试运行的日期,要么运行测试或由不部署脚本,而不是从unittest。
如果你需要Python 2.6的现代unittest类,你可以做“pip install unittest2”。
有可能通过你自己的装饰器来做这样的事情,它会将每个测试用例包装在函数中,它们会运行它们或跳过某些条件,但这对你来说不是好的解决方案。
什么是开始触发器?如果你不首先启动它们,这个问题永远不会出现。 –
它们是在部署时启动的,我不能修改这个自动机制。在这种情况下,最好的解决方案是检查他们最后一次实际运行的时间,看看它是否多于或少于一个小时。这不是unittest lib的目的,他们也没有真正提供这方面的支持,但我相信这有一个技巧。 – Alex