如何在Python中对unittests进行timeprofile?

2024-10-08 21:25:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个测试套件和它正在测试的代码。如果我把from memory_profiler import profile放在适当文件的顶部,用@profile装饰我想要分析的函数,并用python TestThing.py以标准方式运行,我会得到很好的逐行结果。在

但是line_profiler并不是以这种方式打包的,我能够用它来分析任何东西的唯一方法是使用kernprof -l -v thing.py。如果我在单元测试中使用它,所有测试都不会运行(这并不奇怪),也不会生成任何结果。如何以类似于内存分析器的方式对测试及其使用的代码进行时间评测?在


Tags: 文件函数代码frompyimport标准套件
1条回答
网友
1楼 · 发布于 2024-10-08 21:25:13

当然,您可以import line_profiler

import line_profiler

profiler = line_profiler.LineProfiler()


@profiler
def foo():
    for i in range(10):
        print(i)


foo()

profiler.dump_stats('foo.lprof')

结果存储在食物. 在

或者,您可以像decorator一样包装内存分析器,在调用以下命令后打印结果:

^{pr2}$

相关问题 更多 >

    热门问题