我有一个名为 my_module 的模块,其结构如下。
.
└── my_module
├── main.py
└── test.py
在这里,我使用 python -m my_module.test 来运行测试,因为它使用相对导入。
那么如何在模块上运行 line_profiler、memory_profiler 呢?(可以是pytest)
以下是我尝试过的
第一种方法
python -m cProfile -m my_module.test # works -> but I want line_profiler
第二种方法
import line_profiler
import unittest
profiler = line_profiler.LineProfiler()
class PageTester(unittest.TestCase):
@profiler
def test_abc(self):
print(1)
if __name__ == "__main__"
unittest.main(module='page.test')
profiler.print_stats() # doesn't print anything