我目前正在编写一些我希望每隔几分钟不断运行的单元测试。如果它们中的任何一个失败了,我想抓住引发的错误并对它们进行一些自定义处理(在我的情况下发出警报)。有这样做的标准方法吗?我一直在看unittest.TestResult,但没有找到任何好的示例用法。想法?
答案 0 :(得分:3)
我们使用一个连续的集成服务器jenkins来完成这样的任务。它有像调度一样的cron,并且可以在构建变得不稳定时发送电子邮件(测试失败)。有一个扩展到python的unittest模块来生成jenkins支持的junit样式的xml报告。
答案 1 :(得分:0)
最后,我结束了运行测试并返回TestResult
对象。然后我查看该对象的failures
属性,并对失败的套件中的每个测试运行后处理。这对我来说效果很好,让我自定义设计我的后期处理。
对于我需要的每个测试的任何额外元数据,我将unittest.TestResult
子类化,并将addFailure
方法添加到我需要的任何额外内容。