跟踪方法和函数的调用



我正在寻找允许跟踪方法和函数调用的库。可以把它看作是提供calledcall_count属性的Mock。

需要的最终结果示例:

s = MagicProxyLib()
@s
class MyClass:
def not_called(self):
print("This is not called")
def first_method(self):
print("First is called")
def second_method(self):
print("Second is called")

mc = MyClass()
mc.first_method()
mc.second_method()
mc.second_method()

我可以自己实现这样的装饰器,但如果已经有一些具有类似功能的库,我不想重新发明轮子。

我希望能以这样的方式使用这个库

assert not s.called(mc.not_called)
assert s.called(mc.first_method)
assert s.call_count(mc.second_method) == 2

我已经检查了这个答案,但是分析/跟踪并不完全服务于这里相同的目的。谢谢你的包装建议。

您可能需要一个分析器—它们可以收集所有这些使用统计信息。Python附带了一个很好的工具-检查:https://docs.python.org/3/library/profile.html

最新更新