假设我有
def foo:
return a()
def bar:
someObject = someObjectFactory()
if someObject.field:
#do something
如果我想在调用foo时更改someObject.field的值,该怎么办? Foo是一个测试,基本上我希望能够更改someObject.field以测试不同的值。
编辑:bar和foo在不同的文件中
答案 0 :(得分:0)
只需在 bar()
之外创建类,以便foo()
可以修改它。
someObject = someObjectFactory()
def foo():
someObject.field = "something"
return a()
def bar():
if someObject.field:
# code
答案 1 :(得分:0)
由于您是从someObjectFactory获取someObject,因此可能的解决方案是(对于单元测试场景)修改someObjectFactory /提供someObjectFactory的特定于测试的实现,以便为每个bar测试返回一个对象正是该测试所需的属性。