我一直在互联网上搜索在 python 模块上使用 flexmock 的示例,但所有文档似乎都是针对对象/类的。我想知道是否可以模拟模块返回的一些变量。如果该模块调用另一个模块怎么办?
前任。
def function_inside_function(id, some_string):
test_log = {"id": id, "definition": some_string}
return test_log
def function1(id):
some_string = 'blah' + id # i am totally bs-ing here
log = function_inside_function(id, some_string)
return log
所以现在我想通过使用 flexmock 来模拟一些值来分别测试每个函数
那时当对一个对象做同样的事情时,我可以做(比如对象被分配为test_object
)
flexmock(test_object).should_receive('some_func').and_return('some_value')
在some_func
该对象内被调用的位置
但是当我尝试对模块做同样的事情时,我不断得到
FlexmockError: <function function1 at some_address> does not have attribute function_inside_function
我想知道是否可以在模块上使用 flexmock,如果可以。如何?