python - 从单元测试中的结果访问运行时

标签 python unit-testing

当我在 Python 中运行 unittest 时,我想访问测试所花费的时间(不是每个单独的测试用例,而是整个测试)。这显示为结果的一部分。除了解析结果字符串之外,还有其他方法可以做到这一点吗?

最佳答案

遗憾的是,不,您不能直接访问测试时间。至少在不修改一些 unittest 类的情况下。

那个时间是在TextTestRunner.run中计算的并且没有保存为类的成员,而是作为打印输出流式传输:

self.stream.writeln("Ran %d test%s in %.3fs" %
                    (run, run != 1 and "s" or "", timeTaken))

如果您覆盖 TextTestRunner.run 和在 unittest.main 中调用它的方法,那么您可以访问 timeTaken 变量.

只解析输出文本会更容易。

此外,由于您现在可以看到用于编写该行的 timeTaken 格式化语句,因此您可以毫无风险地解析它。

关于python - 从单元测试中的结果访问运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18153572/

相关文章:

python - 确定 bool 变量的值

python - 如何使用 python 2.4 提取 tar 文件?

c# - 如何模拟存储库/工作单元

c# - 使用 FluentAssertions 测试可选的等价性

ruby - 是否有任何语言具有与 Ruby 的 RubySpec 项目相当的项目?

python - 修复 python/Bioinformatics 中的代码

python - 包级导出、循环依赖

python - 打印带有 UTF-8 编码字符的字符串,例如: "\u00c5\u009b\"

unit-testing - 如何测试运行命令的Go函数?

unit-testing - 如何为 GWT servlet 编写测试?